Mercurial > pub > ImplabNet
view Implab/PromiseAwaiter.cs @ 185:822aab37b107 ref20160224
runnable component, work in progress
| author | cin | 
|---|---|
| date | Mon, 18 Apr 2016 16:41:17 +0300 | 
| parents | ec91a6dfa5b3 | 
| children | cbe10ac0731e | 
line wrap: on
 line source
using System; using System.Runtime.CompilerServices; namespace Implab { public struct PromiseAwaiter : INotifyCompletion { readonly IPromise m_promise; public PromiseAwaiter(IPromise promise) { m_promise = promise; } public void OnCompleted (Action continuation) { if (m_promise != null) m_promise.On(continuation, PromiseEventType.All); } public void GetResult() { m_promise.Join(); } public bool IsCompleted { get { return m_promise.IsResolved; } } } }
