message

package
v0.0.0-...-8b501b0 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2023 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Iterator

type Iterator interface {
	// Next advances the iterator so that the next message can be retrieved
	// via a call to Message(). If no more messages are available or an
	// error occurs, Next() returns false.
	Next() bool

	// Message returns the message currently pointed to by the iterator.
	Message() Message

	// Error returns the last error that the iterator encountered.
	Error() error
}

Iterator provides an API for iterating a list of messages.

type Message

type Message interface {
	// Type returns the type of this Message.
	Type() string
}

Message is implemented by types that can be processed by a Queue.

type Queue

type Queue interface {
	// Cleanly shutdown the queue.
	Close() error

	// Enqueue inserts a message to the end of the queue.
	Enqueue(msg Message) error

	// PendingMessages returns true if the queue contains any messages.
	PendingMessages() bool

	// Flush drops all pending messages from the queue.
	DiscardMessages() error

	// Messages returns an iterator for accessing the queued messages.
	Messages() Iterator
}

Queue is implemented by types that can serve as message queues.

func NewInMemoryQueue

func NewInMemoryQueue() Queue

NewInMemoryQueue creates a new in-memory queue instance. This function can serve as a QueueFactory.

type QueueFactory

type QueueFactory func() Queue

QueueFactory is a function that can create new Queue instances.

Jump to

Keyboard shortcuts

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