log
graph
tags
bookmarks
branches
changeset
browse
file
latest
diff
comparison
annotate
file log
raw
help
Mercurial
>
pub
>
ImplabNet
annotate Implab/Parallels/SyncContextDispatcher.cs @ 262:
f1696cdc3d7a
v3
v3.0.8
Find changesets by keywords (author, files, the commit message), revision number or hash, or
revset expression
.
Added IInitializable.Initialize() overload Added IRunnable.Start(), IRunnable.Start() overloads Fixed cancellation of the current operation when Stop() is called More tests
author
cin
date
Mon, 16 Apr 2018 02:12:39 +0300 (2018-04-15)
parents
5cb4826c2c2a
children
Ignore whitespace changes -
Everywhere:
Within whitespace:
At end of lines:
rev
line source
248
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
1
using System;
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
2
using System.Threading;
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
3
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
4
namespace Implab {
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
5
public class SyncContextDispatcher : IDispatcher {
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
6
SynchronizationContext m_context;
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
7
public SyncContextDispatcher(SynchronizationContext context) {
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
8
Safe.ArgumentNotNull(context, nameof(context));
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
9
m_context = context;
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
10
}
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
11
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
12
public void Enqueue(Action job) {
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
13
m_context.Post((o) => job(), null);
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
14
}
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
15
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
16
public void Enqueue<T>(Action<T> job, T arg) {
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
17
m_context.Post((o) => job((T)o), arg);
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
18
}
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
19
}
5cb4826c2c2a
Added awaiters to promises
cin
parents:
diff
changeset
+
−
20
}