static__rte_always_inlineunsignedintrte_event_ring_count(conststructrte_event_ring*r)[static]
Returns the number of events in the ring
Parametersr pointer to the event ring
Returns
the number of events in the ring
Definition at line 50 of file rte_event_ring.h.
static__rte_always_inlineunsignedintrte_event_ring_free_count(conststructrte_event_ring*r)[static]
Returns the amount of free space in the ring
Parametersr pointer to the event ring
Returns
the number of free slots in the ring, i.e. the number of events that can be successfully enqueued
before dequeue must be called
Definition at line 65 of file rte_event_ring.h.
static__rte_always_inlineunsignedintrte_event_ring_enqueue_bulk(structrte_event_ring*r,conststructrte_event*events,unsignedintn,uint16_t*free_space)[static]
Enqueue several objects on a ring.
This function calls the multi-producer or the single-producer version depending on the default behavior
that was specified at ring creation time (see flags).
Parametersr pointer to the event ring
events pointer to an array of struct rte_event objects
n The number of events in the array to enqueue
free_space if non-NULL, returns the amount of space in the ring after the enqueue operation has
completed
Returns
the number of objects enqueued, either 0 or n
Definition at line 91 of file rte_event_ring.h.
static__rte_always_inlineunsignedintrte_event_ring_dequeue_bulk(structrte_event_ring*r,structrte_event*events,unsignedintn,uint16_t*available)[static]
Dequeue a set of events from a ring
Note: this API does not work with pointers to events, rather it copies the events themselves to the
destination events buffer.
Parametersr pointer to the event ring
events pointer to an array to hold the struct rte_event objects
n number of events that can be held in the events array
available if non-null, is updated to indicate the number of events remaining in the ring once the
dequeue has completed
Returns
the number of objects dequeued, either 0 or n
Definition at line 127 of file rte_event_ring.h.
static__rte_always_inlineunsignedintrte_event_ring_enqueue_burst(structrte_event_ring*r,conststructrte_event*events,unsignedintn,uint16_t*free_space)[static]
Enqueue a set of events onto a ring
Note: this API enqueues by copying the events themselves onto the ring, rather than just placing a
pointer to each event onto the ring. This means that statically-allocated events can safely be enqueued
by this API.
Parametersr pointer to the event ring
events pointer to an array of struct rte_event objects
n number of events in the array to enqueue
free_space if non-null, is updated to indicate the amount of free space in the ring once the enqueue
has completed.
Returns
the number of elements, n', enqueued to the ring, 0 <= n' <= n
Definition at line 165 of file rte_event_ring.h.
static__rte_always_inlineunsignedintrte_event_ring_dequeue_burst(structrte_event_ring*r,structrte_event*events,unsignedintn,uint16_t*available)[static]
Dequeue a set of events from a ring
Note: this API does not work with pointers to events, rather it copies the events themselves to the
destination events buffer.
Parametersr pointer to the event ring
events pointer to an array to hold the struct rte_event objects
n number of events that can be held in the events array
available if non-null, is updated to indicate the number of events remaining in the ring once the
dequeue has completed
Returns
the number of elements, n', dequeued from the ring, 0 <= n' <= n
Definition at line 201 of file rte_event_ring.h.
structrte_event_ring*rte_event_ring_lookup(constchar*name)
Search for an event ring based on its name
Parametersname The name of the ring.
Returns
The pointer to the ring matching the name, or NULL if not found, with rte_errno set appropriately.
Possible rte_errno values include:
• ENOENT - required entry not available to return.
voidrte_event_ring_free(structrte_event_ring*r)
De-allocate all memory used by the ring.
Parametersr Pointer to ring to created with rte_event_ring_create(). If r is NULL, no operation is performed.
staticunsignedintrte_event_ring_get_size(conststructrte_event_ring*r)[inline],[static]
Return the size of the event ring.
Parametersr A pointer to the ring structure.
Returns
The size of the data store used by the ring. NOTE: this is not the same as the usable space in the
ring. To query that use rte_ring_get_capacity().
Definition at line 328 of file rte_event_ring.h.
staticunsignedintrte_event_ring_get_capacity(conststructrte_event_ring*r)[inline],[static]
Return the number of elements which can be stored in the event ring.
Parametersr A pointer to the ring structure.
Returns
The usable size of the ring.
Definition at line 342 of file rte_event_ring.h.