##// END OF EJS Templates
Bound promise to CancellationToken...
Bound promise to CancellationToken Added new states to ExecutionSate enum. Added Safe.Guard() method to handle cleanup of the result of the promise

File last commit:

r151:ec91a6dfa5b3 v2
r209:a867536c68fc v2
Show More
PromiseAwaiter.cs
28 lines | 636 B | text/x-csharp | CSharpLexer
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;
}
}
}
}