Wrapper for priority_queue that holds gnrc_pktsnip_t*. More...
Wrapper for priority_queue that holds gnrc_pktsnip_t*.
Files | |
file | priority_pktqueue.h |
gnrc priority packet queue API | |
Data Structures | |
struct | gnrc_priority_pktqueue_node |
data type for gnrc priority packet queue nodes More... | |
Macros | |
#define | PRIORITY_PKTQUEUE_NODE_INIT(priority, pkt) { NULL, priority, pkt } |
Static initializer for gnrc_priority_pktqueue_node_t. | |
#define | PRIORITY_PKTQUEUE_INIT { NULL } |
Static initializer for gnrc_priority_pktqueue_t. | |
Typedefs | |
typedef struct gnrc_priority_pktqueue_node | gnrc_priority_pktqueue_node_t |
data type for gnrc priority packet queue nodes | |
typedef priority_queue_t | gnrc_priority_pktqueue_t |
data type for gnrc priority packet queues | |
Functions | |
static void | gnrc_priority_pktqueue_node_init (gnrc_priority_pktqueue_node_t *node, uint32_t priority, gnrc_pktsnip_t *pkt) |
Initialize a gnrc priority packet queue node object. | |
static void | gnrc_priority_pktqueue_init (gnrc_priority_pktqueue_t *queue) |
Initialize a gnrc priority packet queue object. | |
uint32_t | gnrc_priority_pktqueue_length (gnrc_priority_pktqueue_t *queue) |
Get the length information of a gnrc priority packet queue object. | |
void | gnrc_priority_pktqueue_flush (gnrc_priority_pktqueue_t *queue) |
flush the gnrc priority packet queue | |
gnrc_pktsnip_t * | gnrc_priority_pktqueue_pop (gnrc_priority_pktqueue_t *queue) |
Get first element and remove it from queue . | |
gnrc_pktsnip_t * | gnrc_priority_pktqueue_head (gnrc_priority_pktqueue_t *queue) |
Get first element from queue without removing. | |
void | gnrc_priority_pktqueue_push (gnrc_priority_pktqueue_t *queue, gnrc_priority_pktqueue_node_t *node) |
add node into queue based on its priority | |
#define PRIORITY_PKTQUEUE_INIT { NULL } |
Static initializer for gnrc_priority_pktqueue_t.
Definition at line 57 of file priority_pktqueue.h.
#define PRIORITY_PKTQUEUE_NODE_INIT | ( | priority, | |
pkt | |||
) | { NULL, priority, pkt } |
Static initializer for gnrc_priority_pktqueue_node_t.
Definition at line 52 of file priority_pktqueue.h.
data type for gnrc priority packet queues
Definition at line 47 of file priority_pktqueue.h.
void gnrc_priority_pktqueue_flush | ( | gnrc_priority_pktqueue_t * | queue | ) |
flush the gnrc priority packet queue
[out] | queue | the gnrc priority packet queue. Must not be NULL |
gnrc_pktsnip_t * gnrc_priority_pktqueue_head | ( | gnrc_priority_pktqueue_t * | queue | ) |
Get first element from queue
without removing.
[in] | queue | the gnrc priority packet queue. Must not be NULL |
queue
|
inlinestatic |
Initialize a gnrc priority packet queue object.
[out] | queue | pre-allocated gnrc_priority_pktqueue_t object. Must not be NULL. |
Definition at line 84 of file priority_pktqueue.h.
uint32_t gnrc_priority_pktqueue_length | ( | gnrc_priority_pktqueue_t * | queue | ) |
Get the length information of a gnrc priority packet queue object.
[in] | queue | pre-allocated gnrc_priority_pktqueue_t object. Must not be NULL. |
queue
|
inlinestatic |
Initialize a gnrc priority packet queue node object.
[out] | node | pre-allocated gnrc_priority_pktqueue_node_t object. Must not be NULL. |
[in] | priority | the priority of the gnrc packet snip |
[in] | pkt | the gnrc packet snip |
Definition at line 69 of file priority_pktqueue.h.
gnrc_pktsnip_t * gnrc_priority_pktqueue_pop | ( | gnrc_priority_pktqueue_t * | queue | ) |
Get first element and remove it from queue
.
[out] | queue | the gnrc priority packet queue. Must not be NULL |
void gnrc_priority_pktqueue_push | ( | gnrc_priority_pktqueue_t * | queue, |
gnrc_priority_pktqueue_node_t * | node | ||
) |
add node
into queue
based on its priority
[in,out] | queue | the gnrc priority packet queue. Must not be NULL |
[in] | node | the node to add. |