domain

package
v0.0.0-...-32727c2 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2025 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBadConsumersCount = errors.New("max consumers should be greater then zero")
	ErrBadQueueSize      = errors.New("max queue size should be greater then zero")
	ErrDuplicateConsumer = errors.New("consumer already subscribed")
	ErrQueueOverflow     = errors.New("max queue size reached")
	ErrTooManyConsumers  = errors.New("maximum consumers count reached")
)
View Source
var ErrNotificationFailed = errors.New("notification failed")

Functions

This section is empty.

Types

type Consumer

type Consumer struct {
	// contains filtered or unexported fields
}

func NewConsumer

func NewConsumer(uri string, src <-chan Message) *Consumer

NewConsumer создает нового подписчика.

func (*Consumer) Post

func (c *Consumer) Post(msg Message) error

Post отправляет сообщение подписчику.

type MQueue

type MQueue struct {
	// Name уникальное имя очереди сообщений.
	Name string
	// contains filtered or unexported fields
}

MQueue очередь сообщений.

func NewMQueue

func NewMQueue(name string, maxSize, maxConsumers int) (*MQueue, error)

NewMQueue создает новую очередь сообщений.

func (*MQueue) AddConsumer

func (q *MQueue) AddConsumer(clientURL string) error

AddConsumer добавляет потребителя сообщений.

func (*MQueue) Post

func (q *MQueue) Post(msg Message) error

Post размещает сообщение в очереди.

func (*MQueue) SpaceLeft

func (q *MQueue) SpaceLeft() int

SpaceLeft возвращает количество сообщений, которые можно положить в очередь до переполнения.

type Message

type Message []byte

Jump to

Keyboard shortcuts

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