##// END OF EJS Templates
fixed timeout handling in promises
fixed timeout handling in promises

File last commit:

r145:706fccb85524 v2
r148:e6d4b41f0101 v2
Show More
SyncContextPromise.cs
26 lines | 886 B | text/x-csharp | CSharpLexer
/ Implab / SyncContextPromise.cs
cin
promises refactoring
r72 using System.Threading;
cin
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
r138 using System;
cin
promises refactoring
r72
namespace Implab {
public class SyncContextPromise<T> : Promise<T> {
readonly SynchronizationContext m_context;
public SyncContextPromise(SynchronizationContext context) {
Safe.ArgumentNotNull(context, "context");
m_context = context;
}
cin
RC: cancellation support for promises + tests
r145 protected override void SignalSuccess(Promise<T>.HandlerDescriptor handler) {
cin
Promises rewritten, added improved version of AsyncQueue
r119 m_context.Post(x => base.SignalSuccess(handler), null);
cin
promises refactoring
r72 }
cin
Promises rewritten, added improved version of AsyncQueue
r119
cin
RC: cancellation support for promises + tests
r145 protected override void SignalError(Promise<T>.HandlerDescriptor handler, Exception error) {
cin
Promises rewritten, added improved version of AsyncQueue
r119 m_context.Post(x => base.SignalError(handler, error), null);
}
cin
RC: cancellation support for promises + tests
r145 protected override void SignalCancelled(Promise<T>.HandlerDescriptor handler, Exception reason) {
cin
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
r138 m_context.Post(x => base.SignalCancelled(handler, reason), null);
cin
promises refactoring
r72 }
}
}