Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type OptimizedMPMCQueue ¶
type OptimizedMPMCQueue[T any] struct { // contains filtered or unexported fields }
OptimizedMPMCQueue is a lock‑free MPMC queue with extra padding to reduce false sharing.
func New ¶
func New[T any](capacity uint64) *OptimizedMPMCQueue[T]
New creates a new OptimizedMPMCQueue with the given capacity (rounded up to a power of 2).
func (*OptimizedMPMCQueue[T]) Dequeue ¶
func (q *OptimizedMPMCQueue[T]) Dequeue() (T, bool)
Dequeue removes and returns a value from the queue. It spins until a cell is ready.
func (*OptimizedMPMCQueue[T]) Enqueue ¶
func (q *OptimizedMPMCQueue[T]) Enqueue(val T)
Enqueue adds a value into the queue. It spins until a slot is available.
func (*OptimizedMPMCQueue[T]) FreeSlots ¶
func (q *OptimizedMPMCQueue[T]) FreeSlots() uint64
FreeSlots returns how many slots are free.
func (*OptimizedMPMCQueue[T]) UsedSlots ¶
func (q *OptimizedMPMCQueue[T]) UsedSlots() uint64
UsedSlots returns an approximate count of used slots.
Click to show internal directories.
Click to hide internal directories.