queue

package
v2.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2024 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Queue added in v2.5.0

type Queue[T any] struct {
	// contains filtered or unexported fields
}

Queue thread-safe Queue using ring-buffer reference: https://blog.dubbelboer.com/2015/04/25/go-faster-queue.html https://github.com/eapache/queue

func New added in v2.5.0

func New[T any]() *Queue[T]

New creates an instance of Unbounded

func (*Queue[T]) Cap added in v2.5.0

func (q *Queue[T]) Cap() int

Cap return the capacity (without allocations)

func (*Queue[T]) Close added in v2.5.0

func (q *Queue[T]) Close()

Close the queue and discard all entries in the queue all goroutines in wait() will return

func (*Queue[T]) CloseRemaining added in v2.5.0

func (q *Queue[T]) CloseRemaining() []T

CloseRemaining will close the queue and return all entries in the queue. All goroutines in wait() will return.

func (*Queue[T]) IsClosed added in v2.5.0

func (q *Queue[T]) IsClosed() bool

IsClosed returns true if the queue has been closed The call cannot guarantee that the queue hasn't been closed while the function returns, so only "true" has a definite meaning.

func (*Queue[T]) IsEmpty added in v2.5.0

func (q *Queue[T]) IsEmpty() bool

IsEmpty returns true when the queue is empty

func (*Queue[T]) Len added in v2.5.0

func (q *Queue[T]) Len() int

Len return the current length of the queue.

func (*Queue[T]) Pop added in v2.5.0

func (q *Queue[T]) Pop() (T, bool)

Pop removes the item from the front of the queue If false is returned, it either means 1) there were no items on the queue or 2) the queue is closed.

func (*Queue[T]) Push added in v2.5.0

func (q *Queue[T]) Push(i T) bool

Push adds an item to the back of the queue It can be safely called from multiple goroutines It will return false if the queue is closed. In that case the Item is dropped.

func (*Queue[T]) Wait added in v2.5.0

func (q *Queue[T]) Wait() (T, bool)

Wait for an item to be added. If there is items on the queue the first will be returned immediately. Will return nil, false if the queue is closed. Otherwise, the return value of "remove" is returned.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL