Plasma GitLab Archive
Projects Blog Knowledge

Class type Uq_engines.prioritizer_t

class type ['a] prioritizer_t = object .. end

A prioritizer allows to prioritize the execution of engines: At any time, only engines of a certain priority p can be executed. If an engine with a higher priority ph wants to start, it prevents further engines with priority level p from being started until the higher prioritized engines with level ph are 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 f on priority level p. The engine e = f esys can 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 e does.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml