queue

package
v0.17.2 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TimePriorityQueue

type TimePriorityQueue[T equals[T]] struct {
	// contains filtered or unexported fields
}

TimePriorityQueue is a priority queue that dequeues elements at (or after) a specified time, and prioritizes elements based on a priority value. It is safe for concurrent use.

func NewTimePriorityQueue

func NewTimePriorityQueue[T equals[T]]() *TimePriorityQueue[T]

func (*TimePriorityQueue[T]) Dequeue

func (t *TimePriorityQueue[T]) Dequeue(ctx context.Context) T

func (*TimePriorityQueue[T]) Enqueue

func (t *TimePriorityQueue[T]) Enqueue(at time.Time, priority int, v T)

func (*TimePriorityQueue[T]) GetAll added in v0.17.2

func (t *TimePriorityQueue[T]) GetAll() []T

func (*TimePriorityQueue[T]) Len

func (t *TimePriorityQueue[T]) Len() int

func (*TimePriorityQueue[T]) Peek

func (t *TimePriorityQueue[T]) Peek() T

func (*TimePriorityQueue[T]) Remove added in v0.17.2

func (t *TimePriorityQueue[T]) Remove(v T)

func (*TimePriorityQueue[T]) Reset

func (t *TimePriorityQueue[T]) Reset() []T

type TimeQueue

type TimeQueue[T equals[T]] struct {
	// contains filtered or unexported fields
}

TimeQueue is a priority queue that dequeues elements at (or after) a specified time. It is safe for concurrent use.

func NewTimeQueue

func NewTimeQueue[T equals[T]]() *TimeQueue[T]

func (*TimeQueue[T]) Dequeue

func (t *TimeQueue[T]) Dequeue(ctx context.Context) T

func (*TimeQueue[T]) Enqueue

func (t *TimeQueue[T]) Enqueue(at time.Time, v T)

func (*TimeQueue[T]) GetAll added in v0.17.2

func (t *TimeQueue[T]) GetAll() []T

func (*TimeQueue[T]) Len

func (t *TimeQueue[T]) Len() int

func (*TimeQueue[T]) Peek

func (t *TimeQueue[T]) Peek() T

func (*TimeQueue[T]) Remove added in v0.17.2

func (t *TimeQueue[T]) Remove(v T)

func (*TimeQueue[T]) Reset

func (t *TimeQueue[T]) Reset() []T

Jump to

Keyboard shortcuts

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