queue

package
v0.0.0-...-c635e59 Latest Latest
Warning

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

Go to latest
Published: May 20, 2024 License: Apache-2.0, BSD-2-Clause Imports: 1 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Queue

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

Queue represents a ring buffer.

func New

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

New creates a new queue with the specified capacity.

func (*Queue[T]) Capacity

func (queue *Queue[T]) Capacity() int

Capacity returns the capacity of the queue.

func (*Queue[T]) ForceOffer

func (queue *Queue[T]) ForceOffer(element T) (removedElement T, wasRemoved bool)

func (*Queue[T]) Offer

func (queue *Queue[T]) Offer(element T) bool

Offer adds an element to the queue and returns true. If the queue is full, it drops it and returns false.

func (*Queue[T]) Poll

func (queue *Queue[T]) Poll() (element T, success bool)

Poll returns and removes the oldest element in the queue and true if successful. If returns false if the queue is empty.

func (*Queue[T]) Size

func (queue *Queue[T]) Size() int

Size returns the size of the queue.

Jump to

Keyboard shortcuts

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