Mercurial > pub > ImplabNet
annotate Implab/IPromise.cs @ 251:7c7e9ad6fe4a v3
Prerelease version of RunnableComponent
Added draft messaging interfaces
Added more more helpers to Xml/SerializationHelpers
| author | cin |
|---|---|
| date | Sun, 11 Feb 2018 00:49:51 +0300 |
| parents | fb70574741a1 |
| children |
| rev | line source |
|---|---|
| 7 | 1 using System; |
| 2 using System.Collections.Generic; | |
| 3 using System.Linq; | |
| 4 using System.Text; | |
| 5 | |
| 66 | 6 namespace Implab { |
| 243 | 7 public interface IPromise { |
| 26 | 8 |
| 66 | 9 /// <summary> |
| 10 /// Тип результата, получаемого через данное обещание. | |
| 11 /// </summary> | |
| 242 | 12 Type ResultType { get; } |
| 25 | 13 |
| 74 | 14 /// <summary> |
| 99 | 15 /// Обещание является выполненым, либо успешно, либо с ошибкой, либо отменено. |
| 74 | 16 /// </summary> |
| 244 | 17 bool IsResolved { get; } |
| 66 | 18 |
| 242 | 19 bool IsRejected { get; } |
| 20 | |
| 244 | 21 bool IsFulfilled { get; } |
| 25 | 22 |
|
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
104
diff
changeset
|
23 /// <summary> |
|
138
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
24 /// Исключение возникшее в результате выполнения обещания, либо причина отмены. |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
25 /// </summary> |
| 242 | 26 Exception RejectReason { get; } |
|
138
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
27 |
|
f75cfa58e3d4
added ICancellable.Cancel(Exception) to allow specify the reason of cancellation
cin
parents:
119
diff
changeset
|
28 /// <summary> |
|
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
104
diff
changeset
|
29 /// Adds specified listeners to the current promise. |
| 75 | 30 /// </summary> |
|
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
104
diff
changeset
|
31 /// <param name="success">The handler called on the successful promise completion.</param> |
|
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
104
diff
changeset
|
32 /// <param name="error">The handler is called if an error while completing the promise occurred.</param> |
|
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
104
diff
changeset
|
33 /// <returns>The current promise.</returns> |
| 244 | 34 void Then(IResolvable next); |
|
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
104
diff
changeset
|
35 |
|
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
104
diff
changeset
|
36 /// <summary> |
| 74 | 37 /// Преобразует результат обещания к заданному типу и возвращает новое обещание. |
| 38 /// </summary> | |
| 66 | 39 IPromise<T> Cast<T>(); |
| 247 | 40 |
| 41 void Join(); | |
| 42 | |
| 43 void Join(int timeout); | |
| 7 | 44 } |
| 45 } |
