Mercurial > pub > ImplabNet
annotate Implab/IDeferred.cs @ 243:b1e0ffdf3451 v3
working on promises
| author | cin |
|---|---|
| date | Wed, 24 Jan 2018 19:24:10 +0300 |
| parents | fa6cbf4d8841 |
| children |
| rev | line source |
|---|---|
| 119 | 1 using System; |
| 2 | |
| 3 namespace Implab { | |
| 4 /// <summary> | |
| 5 /// Deferred result, usually used by asynchronous services as the service part of the promise. | |
| 6 /// </summary> | |
|
240
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
7 public interface IDeferred { |
| 119 | 8 |
| 9 void Resolve(); | |
| 10 | |
|
138
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
11 /// <summary> |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
12 /// Reject the promise with the specified error. |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
13 /// </summary> |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
14 /// <param name="error">The reason why the promise is rejected.</param> |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
15 /// <remarks> |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
16 /// Some exceptions are treated in a special case: |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
17 /// <see cref="OperationCanceledException"/> is interpreted as call to <see cref="Cancel()"/> method, |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
18 /// and <see cref="PromiseTransientException"/> is always unwrapped and its |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
19 /// <see cref="PromiseTransientException.InnerException"> is used as the reason to reject promise. |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
20 /// </remarks> |
| 119 | 21 void Reject(Exception error); |
|
240
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
22 |
|
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
23 /// <summary> |
|
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
24 /// Marks current instance as cencelled with the specified reason. |
|
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
25 /// </summary> |
|
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
26 /// <param name="reason">The reason for the operation cancellation, |
|
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
27 /// if not specified the new <see cref="OperationCanceledException"> will be created</param> |
|
fa6cbf4d8841
refactoring, moving to dotnercore, simplifying promises
cin
parents:
145
diff
changeset
|
28 void SetCancelled(Exception reason); |
| 119 | 29 } |
| 30 } | |
| 31 |
