priority-sync- Cooperative task prioritization.Source codeContentsIndex
data Schedule p c = Schedule (Queue p) p c
data Schedule p c Source

Schedule a task to run from a prioritized Queue.

Tasks that do not actually make claims against any of the Schedules internal Rooms will skip scheduling and the Rooms will be claimed immediately using DefaultRoomContext. This is usually what you want, in particular in the case where no rooms are actually being claimed, e.g. reentrant scheduling.

In other words:

Always wrong:

 (Schedule q 2 Default,[room1,room2])


 Schedule q 2 (Default,[room1,room2])

Alternately, if you only want to schedule access to room1, you can place room1 internally and room2 externally. Schedule will be smart about when to schedule and when not to schedule:

 (Schedule q 2 (Default,room1), room2)

The Default applies internally and externally to the Schedule. In the following example, Unconstrained applies to both room1 and room2:

 (Schedule q 2 (Unconstrained,room1), room2)
Schedule (Queue p) p c
show/hide Instances
Produced by Haddock version 2.4.2