queue

package
v0.0.0-...-a19bde6 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrClosed  = errors.New("queue is closed")
	ErrFull    = errors.New("queue is full")
	ErrDropped = errors.New("message dropped")
)

Functions

This section is empty.

Types

type BlockPolicy

type BlockPolicy[T any] struct{}

func (BlockPolicy[T]) Enqueue

func (BlockPolicy[T]) Enqueue(ctx context.Context, q *Queue[T], item T) error

type DropNewestPolicy

type DropNewestPolicy[T any] struct{}

func (DropNewestPolicy[T]) Enqueue

func (DropNewestPolicy[T]) Enqueue(ctx context.Context, q *Queue[T], item T) error

type DropOldestPolicy

type DropOldestPolicy[T any] struct{}

func (DropOldestPolicy[T]) Enqueue

func (DropOldestPolicy[T]) Enqueue(ctx context.Context, q *Queue[T], item T) error

type MailboxPolicy

type MailboxPolicy[T any] interface {
	Enqueue(context.Context, *Queue[T], T) error
}

type Queue

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

func NewQueue

func NewQueue[T any](initialCap int, maxCap int, policy MailboxPolicy[T]) *Queue[T]

func (*Queue[T]) Close

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

func (*Queue[T]) IsClosed

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

func (*Queue[T]) Len

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

func (*Queue[T]) Notify

func (q *Queue[T]) Notify() <-chan struct{}

func (*Queue[T]) Pop

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

func (*Queue[T]) Push

func (q *Queue[T]) Push(ctx context.Context, item T) error

type UnboundedPolicy

type UnboundedPolicy[T any] struct{}

func (UnboundedPolicy[T]) Enqueue

func (UnboundedPolicy[T]) Enqueue(ctx context.Context, q *Queue[T], item T) error

Jump to

Keyboard shortcuts

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