TaskBoard

The read model an assignment policy is handed.

A view over the dispatcher's TaskQ, not a container. Two containers for one set of tasks is two things to keep consistent, and a board a policy could mutate would let a policy violate "a policy decides only" (A7) by accident rather than by intent. Every mutating operation lives on Dispatcher, which is the only object permitted to touch the queue.

Not a ModelElement: it owns no state to reset between replications.

Properties

Link copied to clipboard

The tasks a vehicle has committed to but not yet collected.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The longest-waiting unassigned task, or null. Cheap, because the queue is already ordered and the selection rule has already been applied.

Link copied to clipboard

Everything outstanding, in queue order.

Link copied to clipboard

The tasks no vehicle has committed to, in the order the selection rule chose.

Functions

Link copied to clipboard
open override fun toString(): String