delay_queue

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

README

delay_queue

Go delay queue

Documentation

Index

Constants

This section is empty.

Variables

View Source
var S scheduler

Functions

func WithClearCallback

func WithClearCallback[T any](callback clearCallback[T]) func(hub *TimeoutQueueHub[T])

func WithTickTime

func WithTickTime[T any](tickTime time.Duration) func(hub *TimeoutQueueHub[T])

func WithTimeoutCallback

func WithTimeoutCallback[T any](callback timeoutCallback[T]) func(hub *TimeoutQueueHub[T])

Types

type DelayQueue

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

func (*DelayQueue[T]) Clear

func (q *DelayQueue[T]) Clear(callback clearCallBack[T])

func (*DelayQueue[T]) DelayPop

func (q *DelayQueue[T]) DelayPop(value *time.Time) *queueItem[T]

func (*DelayQueue[T]) IsEmpty

func (q *DelayQueue[T]) IsEmpty() bool

func (*DelayQueue[T]) Pop

func (q *DelayQueue[T]) Pop() *queueItem[T]

func (*DelayQueue[T]) Push

func (q *DelayQueue[T]) Push(delay *time.Time, data T)

type TimeoutQueue

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

func (*TimeoutQueue[T]) Clear

func (tq *TimeoutQueue[T]) Clear()

func (*TimeoutQueue[T]) Init

func (tq *TimeoutQueue[T]) Init()

func (*TimeoutQueue[T]) Push

func (tq *TimeoutQueue[T]) Push(data T, expire *time.Time)

type TimeoutQueueHub

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

func NewTimeoutQueueHub

func NewTimeoutQueueHub[T any](opts ...func(hub *TimeoutQueueHub[T])) *TimeoutQueueHub[T]

func (*TimeoutQueueHub[T]) GetQueue

func (hub *TimeoutQueueHub[T]) GetQueue(ctx context.Context, queueName string) *TimeoutQueue[T]

Jump to

Keyboard shortcuts

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