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.