DPDK
21.02.0
|
#include <rte_ring_peek_elem_pvt.h>
Go to the source code of this file.
Functions | |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_enqueue_bulk_elem_start (struct rte_ring *r, unsigned int n, unsigned int *free_space) |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_enqueue_bulk_start (struct rte_ring *r, unsigned int n, unsigned int *free_space) |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_enqueue_burst_elem_start (struct rte_ring *r, unsigned int n, unsigned int *free_space) |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_enqueue_burst_start (struct rte_ring *r, unsigned int n, unsigned int *free_space) |
static __rte_experimental __rte_always_inline void | rte_ring_enqueue_elem_finish (struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n) |
static __rte_experimental __rte_always_inline void | rte_ring_enqueue_finish (struct rte_ring *r, void *const *obj_table, unsigned int n) |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_dequeue_bulk_elem_start (struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available) |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_dequeue_bulk_start (struct rte_ring *r, void **obj_table, unsigned int n, unsigned int *available) |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_dequeue_burst_elem_start (struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available) |
static __rte_experimental __rte_always_inline unsigned int | rte_ring_dequeue_burst_start (struct rte_ring *r, void **obj_table, unsigned int n, unsigned int *available) |
static __rte_experimental __rte_always_inline void | rte_ring_dequeue_elem_finish (struct rte_ring *r, unsigned int n) |
static __rte_experimental __rte_always_inline void | rte_ring_dequeue_finish (struct rte_ring *r, unsigned int n) |
EXPERIMENTAL: this API may change without prior notice It is not recommended to include this file directly. Please include <rte_ring_elem.h> instead.
Ring Peek API Introduction of rte_ring with serialized producer/consumer (HTS sync mode) makes possible to split public enqueue/dequeue API into two phases:
Definition in file rte_ring_peek.h.
|
static |
Start to enqueue several objects on the ring. Note that no actual objects are put in the queue by this function, it just reserves for user such ability. User has to call appropriate enqueue_elem_finish() to copy objects into the queue and complete given enqueue operation.
r | A pointer to the ring structure. |
n | The number of objects to add in the ring from the obj_table. |
free_space | if non-NULL, returns the amount of space in the ring after the enqueue operation has finished. |
Definition at line 72 of file rte_ring_peek.h.
|
static |
Start to enqueue several objects on the ring. Note that no actual objects are put in the queue by this function, it just reserves for user such ability. User has to call appropriate enqueue_finish() to copy objects into the queue and complete given enqueue operation.
r | A pointer to the ring structure. |
n | The number of objects to add in the ring from the obj_table. |
free_space | if non-NULL, returns the amount of space in the ring after the enqueue operation has finished. |
Definition at line 98 of file rte_ring_peek.h.
|
static |
Start to enqueue several objects on the ring. Note that no actual objects are put in the queue by this function, it just reserves for user such ability. User has to call appropriate enqueue_elem_finish() to copy objects into the queue and complete given enqueue operation.
r | A pointer to the ring structure. |
n | The number of objects to add in the ring from the obj_table. |
free_space | if non-NULL, returns the amount of space in the ring after the enqueue operation has finished. |
Definition at line 123 of file rte_ring_peek.h.
|
static |
Start to enqueue several objects on the ring. Note that no actual objects are put in the queue by this function, it just reserves for user such ability. User has to call appropriate enqueue_finish() to copy objects into the queue and complete given enqueue operation.
r | A pointer to the ring structure. |
n | The number of objects to add in the ring from the obj_table. |
free_space | if non-NULL, returns the amount of space in the ring after the enqueue operation has finished. |
Definition at line 149 of file rte_ring_peek.h.
|
static |
Complete to enqueue several objects on the ring. Note that number of objects to enqueue should not exceed previous enqueue_start return value.
r | A pointer to the ring structure. |
obj_table | A pointer to a table of objects. |
esize | The size of ring element, in bytes. It must be a multiple of 4. This must be the same value used while creating the ring. Otherwise the results are undefined. |
n | The number of objects to add to the ring from the obj_table. |
Definition at line 173 of file rte_ring_peek.h.
|
static |
Complete to enqueue several objects on the ring. Note that number of objects to enqueue should not exceed previous enqueue_start return value.
r | A pointer to the ring structure. |
obj_table | A pointer to a table of objects. |
n | The number of objects to add to the ring from the obj_table. |
Definition at line 213 of file rte_ring_peek.h.
|
static |
Start to dequeue several objects from the ring. Note that user has to call appropriate dequeue_finish() to complete given dequeue operation and actually remove objects the ring.
r | A pointer to the ring structure. |
obj_table | A pointer to a table of objects that will be filled. |
esize | The size of ring element, in bytes. It must be a multiple of 4. This must be the same value used while creating the ring. Otherwise the results are undefined. |
n | The number of objects to dequeue from the ring to the obj_table. |
available | If non-NULL, returns the number of remaining ring entries after the dequeue has finished. |
Definition at line 242 of file rte_ring_peek.h.
|
static |
Start to dequeue several objects from the ring. Note that user has to call appropriate dequeue_finish() to complete given dequeue operation and actually remove objects the ring.
r | A pointer to the ring structure. |
obj_table | A pointer to a table of void * pointers (objects) that will be filled. |
n | The number of objects to dequeue from the ring to the obj_table. |
available | If non-NULL, returns the number of remaining ring entries after the dequeue has finished. |
Definition at line 268 of file rte_ring_peek.h.
|
static |
Start to dequeue several objects from the ring. Note that user has to call appropriate dequeue_finish() to complete given dequeue operation and actually remove objects the ring.
r | A pointer to the ring structure. |
obj_table | A pointer to a table of objects that will be filled. |
esize | The size of ring element, in bytes. It must be a multiple of 4. This must be the same value used while creating the ring. Otherwise the results are undefined. |
n | The number of objects to dequeue from the ring to the obj_table. |
available | If non-NULL, returns the number of remaining ring entries after the dequeue has finished. |
Definition at line 298 of file rte_ring_peek.h.
|
static |
Start to dequeue several objects from the ring. Note that user has to call appropriate dequeue_finish() to complete given dequeue operation and actually remove objects the ring.
r | A pointer to the ring structure. |
obj_table | A pointer to a table of void * pointers (objects) that will be filled. |
n | The number of objects to dequeue from the ring to the obj_table. |
available | If non-NULL, returns the number of remaining ring entries after the dequeue has finished. |
Definition at line 324 of file rte_ring_peek.h.
|
static |
Complete to dequeue several objects from the ring. Note that number of objects to dequeue should not exceed previous dequeue_start return value.
r | A pointer to the ring structure. |
n | The number of objects to remove from the ring. |
Definition at line 343 of file rte_ring_peek.h.
|
static |
Complete to dequeue several objects from the ring. Note that number of objects to dequeue should not exceed previous dequeue_start return value.
r | A pointer to the ring structure. |
n | The number of objects to remove from the ring. |
Definition at line 376 of file rte_ring_peek.h.