Mercurial > pub > ImplabNet
diff Implab/Parallels/SyncContextDispatcher.cs @ 248:5cb4826c2c2a v3
Added awaiters to promises
Added static methods to Promise Resolve, Reject, All.
Updated promise helpers
author | cin |
---|---|
date | Tue, 30 Jan 2018 01:37:17 +0300 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Implab/Parallels/SyncContextDispatcher.cs Tue Jan 30 01:37:17 2018 +0300 @@ -0,0 +1,20 @@ +using System; +using System.Threading; + +namespace Implab { + public class SyncContextDispatcher : IDispatcher { + SynchronizationContext m_context; + public SyncContextDispatcher(SynchronizationContext context) { + Safe.ArgumentNotNull(context, nameof(context)); + m_context = context; + } + + public void Enqueue(Action job) { + m_context.Post((o) => job(), null); + } + + public void Enqueue<T>(Action<T> job, T arg) { + m_context.Post((o) => job((T)o), arg); + } + } +} \ No newline at end of file