annotate Implab/Promise.cs @ 243:b1e0ffdf3451 v3

working on promises
author cin
date Wed, 24 Jan 2018 19:24:10 +0300
parents 8200ab154c8a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
119
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents: 112
diff changeset
1 using System;
144
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
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
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
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
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
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
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
12 internal void ResolvePromise() {
144
8c0b95069066 DRAFT: refactoring
cin
parents: 138
diff changeset
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
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
16 internal void RejectPromise(Exception error) {
119
2573b562e328 Promises rewritten, added improved version of AsyncQueue
cin
parents: 112
diff changeset
17 SetError(error);
243
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
18 }
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
19
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
20 public static IPromise Reject(Exception exception) {
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
21 return new FailedPromise(exception);
b1e0ffdf3451 working on promises
cin
parents: 205
diff changeset
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