Versions in this module Expand all Collapse all v0 v0.1.0 Aug 16, 2026 Changes in this version + var ErrClosed = errors.New("queue closed") + var ErrEmpty = errors.New("queue empty") + var ErrExpired = errors.New("item expired") + var ErrFull = errors.New("queue full") + var ErrInvalidItem = errors.New("invalid queue item") + var ErrInvalidLimits = errors.New("invalid queue limits") + type Item struct + Deadline time.Time + Priority Priority + Size int + Value T + func (i *Item[T]) ReleaseRetention() + func (i *Item[T]) RestoreRetention(budget *retention.Budget, bytes int) + func (i *Item[T]) TakeRetention(bytes int) (*retention.Budget, bool) + type Limits struct + Bytes int + ControlPreemption bool + Packets int + type Priority uint8 + const PriorityControl + const PriorityNormal + func (p Priority) Valid() bool + type Queue struct + func NewWithBudget[T any](limits Limits, budget *retention.Budget) (*Queue[T], error) + func NewWithClock[T any](limits Limits, now func() time.Time) (*Queue[T], error) + func New[T any](limits Limits) (*Queue[T], error) + func (q *Queue[T]) Bytes() int + func (q *Queue[T]) Close() + func (q *Queue[T]) Len() int + func (q *Queue[T]) Pop(ctx context.Context) (Item[T], error) + func (q *Queue[T]) Push(item Item[T]) error + func (q *Queue[T]) Ready() <-chan struct{} + func (q *Queue[T]) TryPop() (Item[T], error) + func (q *Queue[T]) TryPopPriority(priority Priority) (Item[T], error)