Crate multi_stack_queue[][src]

Expand description

A crate for stack-allocated fixed-length multiqueues. A multiqueue is an array of a given number of queues, each able to be accessed independently.

In term, this crate should include a feature that enables the user to specify what the multiqueue must do in the case the pop or push method cannot operate (e.g. empty or full individual queue.). For instance, one could wish the operation is, in such a case, applied to the following queue.

This crate was motivated by the creation of a multiple-round-robin-based scheduler in a toy micro-kernel. Each queue holds all the threads within the same priority level. Attempting to create a new thread in an already full priority level would simply decrease its priority until a suitable non-full queue is found.

Based on an original idea from Pollux3737.

Structs

An abstract structure containin multiple stack-allocated bounded queues.

Enums

Errors that may be encountered during use of the MultiStackQueue