queue

package
v0.0.0-...-261ff67 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Consumer

type Consumer[T any] interface {
	Consume(inp T)
}

type Queue

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

func NewQueue

func NewQueue[T any](name string, logLevel zapcore.Level, outputs []string) *Queue[T]

func NewQueueWithBufferSize

func NewQueueWithBufferSize[T any](name string, bufSize int, logLevel zapcore.Level, outputs []string) *Queue[T]

func (*Queue[T]) AddOnClosed

func (c *Queue[T]) AddOnClosed(funs ...func()) *Queue[T]

AddOnClosed specifies functions invoked after the queue is closed and emptied

func (*Queue[T]) AddOnConsume

func (c *Queue[T]) AddOnConsume(funs ...func(T)) *Queue[T]

func (*Queue[T]) Info

func (c *Queue[T]) Info() (int, int)

func (*Queue[T]) Log

func (c *Queue[T]) Log() *zap.SugaredLogger

func (*Queue[T]) Name

func (c *Queue[T]) Name() string

func (*Queue[T]) Push

func (c *Queue[T]) Push(inp T, prio ...bool)

func (*Queue[T]) Run

func (c *Queue[T]) Run()

func (*Queue[T]) Start

func (c *Queue[T]) Start(consumer Consumer[T], ctx context.Context)

func (*Queue[T]) Stop

func (c *Queue[T]) Stop()

type VarBuffered

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

VarBuffered implements variable size synchronized FIFO queue

func New

func New[T any](bufsize ...int) *VarBuffered[T]

func (*VarBuffered[T]) Close

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

Close closes VarBuffered deferred until all elements are pulled

func (*VarBuffered[T]) Consume

func (q *VarBuffered[T]) Consume(consumerFunctions ...func(elem T))

Consume reads all elements of the queue until it is closed

func (*VarBuffered[T]) Info

func (q *VarBuffered[T]) Info() (int, int)

func (*VarBuffered[T]) Len

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

Len returns number of elements in the queue. Approximate +- 1 !

func (*VarBuffered[T]) Push

func (q *VarBuffered[T]) Push(elem T, priority ...bool) bool

Push pushes element

func (*VarBuffered[T]) PushAny

func (q *VarBuffered[T]) PushAny(elem any) bool

Jump to

Keyboard shortcuts

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