Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LightningQueue ¶
type LightningQueue[T any] struct { // contains filtered or unexported fields }
LightningQueue is a bounded, lock‑free, multi‑producer/multi‑consumer FIFO queue.
func New ¶
func New[T any](capacity uint64) *LightningQueue[T]
New creates a new LightningQueue with the specified capacity. If capacity is not a power of 2, it is rounded up.
func (*LightningQueue[T]) Dequeue ¶
func (q *LightningQueue[T]) Dequeue() (T, bool)
Dequeue removes and returns a value from the queue. If no value is available, it returns the zero value and false.
func (*LightningQueue[T]) Enqueue ¶
func (q *LightningQueue[T]) Enqueue(val T)
Enqueue inserts a value into the queue. It busy-waits until a slot becomes available.
func (*LightningQueue[T]) FreeSlots ¶
func (q *LightningQueue[T]) FreeSlots() uint64
FreeSlots returns an approximate count of free slots.
func (*LightningQueue[T]) UsedSlots ¶
func (q *LightningQueue[T]) UsedSlots() uint64
UsedSlots returns an approximate count of occupied slots.
Click to show internal directories.
Click to hide internal directories.