TaskSelectionRuleIfc

Determines the order in which an assignment policy is shown the outstanding tasks.

The same relationship RequestQ.requestSelectionRule has to a resource: the rule may present tasks in an order the queue discipline does not imply, so a later-arriving task can be offered first without disturbing the queue itself or the waiting statistics it carries. Separating the two matters because they answer different questions -- the discipline decides who is at the front of the line, and this decides who is offered first, and a model may reasonably want a FIFO line whose urgent work is still taken out of turn.

A rule orders; it does not filter. Dropping a task here would make it invisible to every policy while leaving it in the queue accruing waiting time, which is a starvation bug wearing a respectable name. Implementations return a permutation of what they were given.

Inheritors

Functions

Link copied to clipboard