Mercurial > pub > ImplabNet
comparison Implab/ICancelationToken.cs @ 143:16f926ee499d v2
DRAFT: refactoring, adding cancelation token
| author | cin |
|---|---|
| date | Wed, 04 Mar 2015 18:05:39 +0300 |
| parents | |
| children | 8c0b95069066 |
comparison
equal
deleted
inserted
replaced
| 142:2100965eb97f | 143:16f926ee499d |
|---|---|
| 1 using System; | |
| 2 | |
| 3 namespace Implab { | |
| 4 public interface ICancelationToken { | |
| 5 /// <summary> | |
| 6 /// Indicates wherther the cancellation was requested. | |
| 7 /// </summary> | |
| 8 bool IsCancelRequested { get ; } | |
| 9 | |
| 10 /// <summary> | |
| 11 /// The reason why the operation should be cancelled. | |
| 12 /// </summary> | |
| 13 Exception CancelReason { get ; } | |
| 14 | |
| 15 /// <summary> | |
| 16 /// Accepts if requested. | |
| 17 /// </summary> | |
| 18 /// <returns><c>true</c>, if if requested was accepted, <c>false</c> otherwise.</returns> | |
| 19 bool AcceptIfRequested(); | |
| 20 | |
| 21 /// <summary> | |
| 22 /// Sets the token to cancelled state. | |
| 23 /// </summary> | |
| 24 /// <param name="reason">The reason why the operation was cancelled.</param> | |
| 25 void SetCancelled(Exception reason); | |
| 26 | |
| 27 /// <summary> | |
| 28 /// Adds the listener for the cancellation request, is the cancellation was requested the <paramref name="handler"/> | |
| 29 /// is executed immediatelly. | |
| 30 /// </summary> | |
| 31 /// <param name="handler">The handler which will be executed if the cancel occurs.</param> | |
| 32 void CancellationRequested(Action<Exception> handler); | |
| 33 | |
| 34 } | |
| 35 } | |
| 36 |
