API Reference Manual  1.45.0
odp_queue_param_t Struct Reference

ODP Queue parameters. More...

#include <queue_types.h>

Collaboration diagram for odp_queue_param_t:
[legend]

Data Fields

odp_queue_type_t type
 Queue type. More...
 
odp_queue_op_mode_t enq_mode
 Enqueue mode. More...
 
odp_queue_op_mode_t deq_mode
 Dequeue mode. More...
 
odp_schedule_param_t sched
 Scheduler parameters. More...
 
odp_queue_order_t order
 Original event order maintenance. More...
 
odp_nonblocking_t nonblocking
 Non-blocking level. More...
 
void * context
 Queue context pointer. More...
 
uint32_t context_len
 Queue context data length. More...
 
uint32_t size
 Queue size. More...
 

Detailed Description

Field Documentation

◆ type

◆ enq_mode

odp_queue_op_mode_t odp_queue_param_t::enq_mode

Enqueue mode.

Default value for both queue types is ODP_QUEUE_OP_MT. Application may enable performance optimizations by defining MT_UNSAFE or DISABLED modes when applicable.

Examples
odp_ipfragreass.c, odp_queue_perf.c, and odp_simple_pipeline.c.

Definition at line 236 of file api/spec/queue_types.h.

◆ deq_mode

odp_queue_op_mode_t odp_queue_param_t::deq_mode

Dequeue mode.

For PLAIN queues, the default value is ODP_QUEUE_OP_MT. Application may enable performance optimizations by defining MT_UNSAFE or DISABLED modes when applicable. However, when a plain queue is input to the implementation (e.g. a queue for packet output), the parameter is ignored in queue creation and the value is ODP_QUEUE_OP_DISABLED.

For SCHED queues, the parameter is ignored in queue creation and the value is ODP_QUEUE_OP_DISABLED.

Examples
odp_ipfragreass.c, odp_queue_perf.c, and odp_simple_pipeline.c.

Definition at line 249 of file api/spec/queue_types.h.

◆ sched

◆ order

odp_queue_order_t odp_queue_param_t::order

Original event order maintenance.

Keep or ignore the original event order of a source queue. The default value is ODP_QUEUE_ORDER_KEEP.

Definition at line 261 of file api/spec/queue_types.h.

◆ nonblocking

odp_nonblocking_t odp_queue_param_t::nonblocking

Non-blocking level.

Queue implementation must guarantee at least this level of block freedom for queue enqueue and dequeue/schedule operations. The default value is ODP_BLOCKING.

Examples
odp_queue_perf.c.

Definition at line 268 of file api/spec/queue_types.h.

◆ context

void* odp_queue_param_t::context

Queue context pointer.

User defined context pointer associated with the queue. The same pointer can be accessed with odp_queue_context() and odp_queue_context_set() calls. The implementation may read the pointer for prefetching the context data. Default value of the pointer is NULL.

Examples
odp_pktio_ordered.c.

Definition at line 277 of file api/spec/queue_types.h.

◆ context_len

uint32_t odp_queue_param_t::context_len

Queue context data length.

User defined context data length in bytes for prefetching. The implementation may use this value as a hint for the number of context data bytes to prefetch. Default value is zero (no hint).

Examples
odp_pktio_ordered.c.

Definition at line 284 of file api/spec/queue_types.h.

◆ size

uint32_t odp_queue_param_t::size

Queue size.

The queue must be able to store at minimum this many events simultaneously. The value must not exceed 'max_size' queue capability. The value of zero means implementation specific default size. The default value is 0.

Examples
odp_cpu_bench.c, odp_pktio_ordered.c, odp_queue_perf.c, odp_sched_perf.c, odp_sched_pktio.c, and odp_simple_pipeline.c.

Definition at line 292 of file api/spec/queue_types.h.


The documentation for this struct was generated from the following file: