This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] /
1 Basic design of scheduler:
2
3 activetask: Queue of active tasks
4 failedtasks: Hashtable of failed task/parameter combinations
5 objectqueues: For each class we have a list of parameterwrapper objects
6
7 1. ObjectQueues
8
9 Each parameterwrapper object is a set of objects that can serve as a
10 specific parameter for a specific task.  This set is stored in the
11 hashtable referenced by the objectset field.  A reference to the
12 relevant taskdescriptor is stored in the task field.
13
14 Each parameterwrapper object has an array of ints: intarray This array
15 contains numberofterms pairs of integere: i*2 and i*2+1. The first
16 integer in a pair contains an "and" mask of the flags that the task
17 cares about.  The second integer in the pair contains the flag
18 settings.  If the flag of an object matches any of these masks, then
19 the object should be placed in the object set.
20
21 1.1 Objectsets
22
23 Each objectset is implemented using a hashtable.  If an object is in
24 the objectset, the objectset hashtable maps that object to either NULL
25 or the next objectset the object is a member of.
26
27 1.2
28
29 Each object with a flag contains a flagptr field ((struct RuntimeHash
30 *) ptr)[2].  This field points to the first objectset hashtable that
31 the object is a member of.
32