class typeA prioritizer allows to prioritize the execution of engines: At any time, only engines of a certain priority
pcan be executed. If an engine with a higher priority
phwants to start, it prevents further engines with priority level
pfrom being started until the higher prioritized engines with level
phare done. On the same priority level, there is no limit for the number of executed engines.
Here, higher priorities have lower numbers.
method prioritized :
(Unixqueue.event_system -> 'a engine) ->
int -> 'a engine
let pe = prioritized f p: Queues up
fon priority level
p. The engine
e = f esyscan start when there is no waiting engine on a higher priority level (i.e. with a number less than
p), and all running engines on lower priority levels are done.
pe enters a final state when