Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrEmpty = errors.New("queue is empty")
ErrEmpty is returned for queues with no items
View Source
var (
QueueEmptyError = errors.New("queue is empty")
)
Functions ¶
This section is empty.
Types ¶
type MemoryQueue ¶
type MemoryQueue[T any] struct { // contains filtered or unexported fields }
func NewMemoryQueue ¶
func NewMemoryQueue[T any]() *MemoryQueue[T]
func (*MemoryQueue[T]) Dequeue ¶
func (q *MemoryQueue[T]) Dequeue() (T, error)
func (*MemoryQueue[T]) Enqueue ¶
func (q *MemoryQueue[T]) Enqueue(value T) error
func (*MemoryQueue[T]) IsEmpty ¶
func (q *MemoryQueue[T]) IsEmpty() (bool, error)
func (*MemoryQueue[T]) Size ¶
func (q *MemoryQueue[T]) Size() (int, error)
type PriorityItem ¶ added in v1.1.3
type PriorityItem interface {
Priority() int
}
type PriorityMode ¶ added in v1.1.3
type PriorityMode int
const ( HighPriorityFirst PriorityMode = iota LowPriorityFirst )
type PriorityQueue ¶ added in v1.1.3
type PriorityQueue[T PriorityItem] struct { // contains filtered or unexported fields }
func NewPriorityQueue ¶ added in v1.1.3
func NewPriorityQueue[T PriorityItem](opts ...PriorityQueueOption) *PriorityQueue[T]
func (*PriorityQueue[T]) Dequeue ¶ added in v1.1.5
func (pq *PriorityQueue[T]) Dequeue() (T, error)
func (*PriorityQueue[T]) Enqueue ¶ added in v1.1.5
func (pq *PriorityQueue[T]) Enqueue(i T) error
func (*PriorityQueue[T]) IsEmpty ¶ added in v1.1.5
func (pq *PriorityQueue[T]) IsEmpty() (bool, error)
func (*PriorityQueue[T]) Size ¶ added in v1.1.5
func (pq *PriorityQueue[T]) Size() (int, error)
type PriorityQueueOption ¶ added in v1.1.3
type PriorityQueueOption func(*priorityOpts)
func WithPriorityMode ¶ added in v1.1.3
func WithPriorityMode(mode PriorityMode) PriorityQueueOption
type RedisQueue ¶
type RedisQueue[T Item] struct { // contains filtered or unexported fields }
func NewRedisQueue ¶
func NewRedisQueue[T Item](addr string, db int, queue string) *RedisQueue[T]
func NewRedisQueueWithClient ¶ added in v1.1.19
func NewRedisQueueWithClient[T Item](client *goredis.PuzzleRedisClient, queue string) *RedisQueue[T]
func (*RedisQueue[T]) Dequeue ¶
func (q *RedisQueue[T]) Dequeue() (T, error)
func (*RedisQueue[T]) Enqueue ¶
func (q *RedisQueue[T]) Enqueue(item T) error
func (*RedisQueue[T]) IsEmpty ¶
func (q *RedisQueue[T]) IsEmpty() (bool, error)
func (*RedisQueue[T]) Size ¶
func (q *RedisQueue[T]) Size() (int, error)
Click to show internal directories.
Click to hide internal directories.