annotate Implab/IPromise.cs @ 14:e943453e5039 promises

Implemented interllocked queue fixed promise syncronization
author cin
date Wed, 06 Nov 2013 17:49:12 +0400
parents eb418ba8275b
children e3935fdf59a2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
1 using System;
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
2 using System.Collections.Generic;
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
3 using System.Linq;
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
4 using System.Text;
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
5
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
6 namespace Implab
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
7 {
12
eb418ba8275b refactoring, added WorkerPool
cin
parents: 11
diff changeset
8 public interface IPromise: ICancellable
7
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
9 {
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
10 /// <summary>
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
11 /// Check whereather the promise has no more than one dependent promise.
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
12 /// </summary>
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
13 bool IsExclusive
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
14 {
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
15 get;
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
16 }
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
17
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
18 /// <summary>
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
19 /// The current state of the promise.
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
20 /// </summary>
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
21 PromiseState State
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
22 {
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
23 get;
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
24 }
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
25
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
26 /// <summary>
10
aa33d0bb8c0c implemeted new cancellable promises concept
cin
parents: 9
diff changeset
27 /// Registers handler for the case when the promise is cencelled. If the promise already cancelled the
aa33d0bb8c0c implemeted new cancellable promises concept
cin
parents: 9
diff changeset
28 /// handler will be invoked immediatelly.
aa33d0bb8c0c implemeted new cancellable promises concept
cin
parents: 9
diff changeset
29 /// </summary>
aa33d0bb8c0c implemeted new cancellable promises concept
cin
parents: 9
diff changeset
30 /// <param name="handler">The handler</param>
aa33d0bb8c0c implemeted new cancellable promises concept
cin
parents: 9
diff changeset
31 void HandleCancelled(Action handler);
7
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
32 }
7ea9363fef6c inital progress handling
cin
parents:
diff changeset
33 }