If we have a high priority task, then we want to push it to the front of
the idle queue so it runs as soon as possible.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
It's sometimes desireable to cancel a pending task and re-add it with
new parameters to cut out some unnecessary work.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This is intended to be used as a base class for other task-specific
Queues, and runs each task under a single transaction. Queue
implementations should override the do_run_task() function for their
implementation-specific work.
The push_many() function can be used to efficiently add several tasks to
the Queue at the same time.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>