Mercurial > pub > ImplabNet
annotate Implab/Promise.cs @ 243:b1e0ffdf3451 v3
working on promises
author | cin |
---|---|
date | Wed, 24 Jan 2018 19:24:10 +0300 |
parents | 8200ab154c8a |
children |
rev | line source |
---|---|
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
1 using System; |
144 | 2 using Implab.Parallels; |
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
3 |
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
4 namespace Implab { |
243 | 5 public class Promise : AbstractPromise { |
205
8200ab154c8a
Added ResetState to RunnableComponent to reset in case of failure
cin
parents:
144
diff
changeset
|
6 public static readonly IPromise Success; |
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
7 |
144 | 8 static Promise() { |
205
8200ab154c8a
Added ResetState to RunnableComponent to reset in case of failure
cin
parents:
144
diff
changeset
|
9 Success = new SuccessPromise(); |
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
10 } |
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
11 |
243 | 12 internal void ResolvePromise() { |
144 | 13 SetResult(); |
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
14 } |
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
15 |
243 | 16 internal void RejectPromise(Exception error) { |
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
17 SetError(error); |
243 | 18 } |
19 | |
20 public static IPromise Reject(Exception exception) { | |
21 return new FailedPromise(exception); | |
22 } | |
119
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
23 } |
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
24 } |
2573b562e328
Promises rewritten, added improved version of AsyncQueue
cin
parents:
112
diff
changeset
|
25 |