##// END OF EJS Templates
refactoring, code cleanup
refactoring, code cleanup

File last commit:

r145:706fccb85524 v2
r158:130781364799 v2
Show More
IDeferred.cs
24 lines | 888 B | text/x-csharp | CSharpLexer
using System;
namespace Implab {
/// <summary>
/// Deferred result, usually used by asynchronous services as the service part of the promise.
/// </summary>
public interface IDeferred : ICancellationToken {
void Resolve();
/// <summary>
/// Reject the promise with the specified error.
/// </summary>
/// <param name="error">The reason why the promise is rejected.</param>
/// <remarks>
/// Some exceptions are treated in a special case:
/// <see cref="OperationCanceledException"/> is interpreted as call to <see cref="Cancel()"/> method,
/// and <see cref="PromiseTransientException"/> is always unwrapped and its
/// <see cref="PromiseTransientException.InnerException"> is used as the reason to reject promise.
/// </remarks>
void Reject(Exception error);
}
}