queue

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2022 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Serialize

func Serialize[T any](queue *Queue[T]) ([]byte, error)

Serialize serializes a Queue into bytes using cbor

Types

type Queue

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

Queue represents a simple thread safe FIFO queue

func Deserialize

func Deserialize[T any](data []byte) (*Queue[T], error)

Deserialize deserializes cbor data into a Queue

func New

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

New creates a new queue

func (*Queue[T]) Pop

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

Pop pops the first element of the queue

func (*Queue[T]) PopN

func (queue *Queue[T]) PopN(n int) []T

PopN pops the first n elements of the queue

func (*Queue[T]) Push

func (queue *Queue[T]) Push(values ...T)

Push pushes entries to the back of the queue

func (*Queue[T]) Size

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

Size returns the amount of queued entries

Jump to

Keyboard shortcuts

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