
Go to the source code of this file.
Data Structures | |
| struct | prio_struct |
| Stores a variable bit length priority. More... | |
| struct | deq_struct |
| A double ended queue of void* pointers stored in a circular buffer, with internal space for 4 entries. More... | |
| struct | prioqelt_struct |
| A bucket in a priority queue which contains a deque(storing the void* pointers) and references to other buckets in the hash table. More... | |
| struct | prioqelt_struct |
| A bucket in a priority queue which contains a deque(storing the void* pointers) and references to other buckets in the hash table. More... | |
| struct | prioq_struct |
| A priority queue, implemented as a heap of prioqelt_struct buckets (each bucket represents a single priority value and contains a deque of void* pointers). More... | |
| struct | Queue_struct |
| A set of 3 queues: a positive priority prioq_struct, a negative priority prioq_struct, and a zero priority deq_struct. More... | |
Typedefs | |
| typedef struct prio_struct * | _prio |
| typedef struct deq_struct * | _deq |
| typedef struct prioqelt_struct * | _prioqelt |
| typedef struct prioq_struct * | _prioq |
| typedef struct Queue_struct * | Queue |
Functions | |
| Queue | CqsCreate (void) |
| Initialize a Queue and its three internal queues (for positive, negative, and zero priorities). | |
| void | CqsDelete (Queue) |
| Delete a Queue. | |
| void | CqsEnqueue (Queue, void *msg) |
| Enqueue with priority 0. | |
| void | CqsEnqueueFifo (Queue, void *msg) |
| Enqueue behind other elements of priority 0. | |
| void | CqsEnqueueLifo (Queue, void *msg) |
| Enqueue ahead of other elements of priority 0. | |
| void | CqsEnqueueGeneral (Queue, void *msg, int strategy, int priobits, unsigned int *prioPtr) |
| Enqueue something (usually an envelope*) into the queue in a manner consistent with the specified strategy and priority. | |
| void | CqsEnumerateQueue (Queue q, void ***resp) |
| Produce an array containing all the entries in a Queue. | |
| void | CqsDequeue (Queue, void **msgPtr) |
| Retrieve the highest priority message (one with most negative priority). | |
| unsigned int | CqsLength (Queue q) |
| int | CqsEmpty (Queue q) |
| int | CqsPrioGT_ (unsigned int ints1, unsigned int *data1, unsigned int ints2, unsigned int *data2) |
| int | CqsPrioGT (_prio prio1, _prio prio2) |
| Compare two priorities (treated as unsigned). | |
| _prio | CqsGetPriority (Queue) |
| Get the priority of the highest priority message in q. | |
| void | CqsIncreasePriorityForEntryMethod (Queue q, const int entrymethod) |
| Search Queue for messages associated with a specified entry method. | |
| void | CqsRemoveSpecific (Queue, const void *msgPtr) |
| Remove an occurence of a specified entry from the Queue by setting its entry to NULL. | |
| void | CqsIncreasePriorityForMemCriticalEntries (Queue q) |
| Search Queue for messages associated with memory-critical entry methods. | |
Variables | |
| int | schedAdaptMemThresholdMB |
| A memory limit threshold for adaptively scheduling. | |
Definition in file queueing.h.
1.5.5