memory

package
v0.1.21 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	MaxRetries  int
	RetryDelay  time.Duration
	DeadLetter  bool
	QueueBuffer int
}

Config for memory queue implementation

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns a standard configuration for memory queue

func NamedConfig

func NamedConfig(name string) Config

NamedConfig returns a named configuration for memory queue

type Message

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

Message implements mbus.Message interface for in-memory queue

func (*Message[T]) Ack

func (m *Message[T]) Ack() error

Ack acknowledges the message as processed successfully

func (*Message[T]) Nack

func (m *Message[T]) Nack(err error) error

Nack indicates a failure in processing the message

func (*Message[T]) T

func (m *Message[T]) T() *T

T returns the message payload

type Queue

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

Queue implements an in-memory messaging.Queue

func NewQueue

func NewQueue[T any](config Config) *Queue[T]

NewQueue creates a new in-memory queue

func (*Queue[T]) Consume

func (q *Queue[T]) Consume(ctx context.Context) (messaging.Message[T], error)

Consume retrieves a single item from the queue

func (*Queue[T]) DLQSize

func (q *Queue[T]) DLQSize() int

DLQSize returns the number of messages in the dead letter queue

func (*Queue[T]) Publish

func (q *Queue[T]) Publish(ctx context.Context, t *T) error

Publish adds a new item to the queue

func (*Queue[T]) Size

func (q *Queue[T]) Size() int

Size returns the current number of messages in the queue

Jump to

Keyboard shortcuts

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