Documentation ¶
Overview ¶
Package ringbuffer contains bindings of DPDK ring library.
Index ¶
Constants ¶
View Source
const ( MinCapacity = 4 MaxCapacity = (C.RTE_RING_SZ_MASK + 1) / 2 DefaultCapacity = 256 )
Limits and defaults.
Variables ¶
This section is empty.
Functions ¶
func AlignCapacity ¶
AlignCapacity adjusts Ring capacity to a power of two between minimum and maximum. Optional arguments: minimum capacity, default capacity, maximum capacity. Default capacity is used if input is zero.
Types ¶
type ConsumerMode ¶
type ConsumerMode int
ConsumerMode indicates ring consumer synchronization mode.
const ( ConsumerMulti ConsumerMode = 0 ConsumerSingle ConsumerMode = C.RING_F_SC_DEQ ConsumerRts ConsumerMode = C.RING_F_MC_RTS_DEQ ConsumerHts ConsumerMode = C.RING_F_MC_HTS_DEQ )
Ring consumer synchronization modes.
type ProducerMode ¶
type ProducerMode int
ProducerMode indicates ring producer synchronization mode.
const ( ProducerMulti ProducerMode = 0 ProducerSingle ProducerMode = C.RING_F_SP_ENQ ProducerRts ProducerMode = C.RING_F_MP_RTS_ENQ ProducerHts ProducerMode = C.RING_F_MP_HTS_ENQ )
Ring producer synchronization modes.
type Ring ¶
type Ring C.struct_rte_ring
Ring represents a FIFO ring buffer.
func New ¶
func New(capacity int, socket eal.NumaSocket, pm ProducerMode, cm ConsumerMode) (r *Ring, e error)
New creates a Ring.
func (*Ring) CountAvailable ¶
CountAvailable returns free space.
Click to show internal directories.
Click to hide internal directories.