Mercurial > pub > ImplabNet
comparison Implab/SyncContextPromise.cs @ 119:2573b562e328 v2
Promises rewritten, added improved version of AsyncQueue
| author | cin |
|---|---|
| date | Sun, 11 Jan 2015 19:13:02 +0300 |
| parents | d4e38929ce36 |
| children | f75cfa58e3d4 |
comparison
equal
deleted
inserted
replaced
| 118:e046a94eecb1 | 119:2573b562e328 |
|---|---|
| 7 public SyncContextPromise(SynchronizationContext context) { | 7 public SyncContextPromise(SynchronizationContext context) { |
| 8 Safe.ArgumentNotNull(context, "context"); | 8 Safe.ArgumentNotNull(context, "context"); |
| 9 m_context = context; | 9 m_context = context; |
| 10 } | 10 } |
| 11 | 11 |
| 12 public SyncContextPromise(SynchronizationContext context, IPromise parent) | 12 protected override void SignalSuccess(IDeferred<T> handler) { |
| 13 : base(parent) { | 13 m_context.Post(x => base.SignalSuccess(handler), null); |
| 14 Safe.ArgumentNotNull(context, "context"); | |
| 15 m_context = context; | |
| 16 } | 14 } |
| 17 protected override void InvokeHandler(AbstractHandler handler) { | 15 |
| 18 m_context.Post(x => base.InvokeHandler(handler),null); | 16 protected override void SignalError(IDeferred<T> handler, System.Exception error) { |
| 17 m_context.Post(x => base.SignalError(handler, error), null); | |
| 18 } | |
| 19 | |
| 20 protected override void SignalCancelled(IDeferred<T> handler) { | |
| 21 m_context.Post(x => base.SignalCancelled(handler), null); | |
| 19 } | 22 } |
| 20 } | 23 } |
| 21 } | 24 } |
| 22 | 25 |
