view Implab/IResolvable.cs @ 269:ff581cff7003 v3

Working on Unity container xml configuration
author cin
date Tue, 24 Apr 2018 01:46:02 +0300
parents b904e0a3ba72
children
line wrap: on
line source

using System;

namespace Implab {
    /// <summary>
    /// Deferred result, usually used by asynchronous services as the service part of the promise.
    /// </summary>
    public interface IResolvable {

        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);
    }
}