Versions in this module Expand all Collapse all v0 v0.3.0 Mar 9, 2022 v0.2.0 Jan 5, 2022 Changes in this version + var ErrDisposed = errors.New(`queue: disposed`) + var ErrEmptyQueue = errors.New(`queue: empty queue`) + var ErrTimeout = errors.New(`queue: poll timed out`) + func ExecuteInParallel(q *Queue, fn func(interface{})) + type Queue struct + func New(hint int64) *Queue + func NewWithContext(hint int64, ctx context.Context) *Queue + func (q *Queue) Dispose() []interface{} + func (q *Queue) Disposed() bool + func (q *Queue) Empty() bool + func (q *Queue) Get(number int64, items []interface{}) (int64, error) + func (q *Queue) Len() int64 + func (q *Queue) Peek() (interface{}, error) + func (q *Queue) Poll(number int64, items []interface{}, timeout time.Duration) (int64, error) + func (q *Queue) Put(items ...interface{}) error + func (q *Queue) PutOrUpdate(cmp func(interface{}, interface{}) bool, item interface{}) error + type RingBuffer struct + func NewRingBuffer(size uint64) *RingBuffer + func (rb *RingBuffer) Cap() uint64 + func (rb *RingBuffer) Dispose() + func (rb *RingBuffer) Get() (interface{}, error) + func (rb *RingBuffer) IsDisposed() bool + func (rb *RingBuffer) Len() uint64 + func (rb *RingBuffer) Offer(item interface{}) (bool, error) + func (rb *RingBuffer) Poll(timeout time.Duration) (interface{}, error) + func (rb *RingBuffer) Put(item interface{}) error