messaging

package
v0.3.10 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithRabbitMqMaxRetries added in v0.3.0

func WithRabbitMqMaxRetries(retries uint) func(*RabbitMqMessenger)

func WithRabbitMqRetryInterval added in v0.3.0

func WithRabbitMqRetryInterval(interval time.Duration) func(*RabbitMqMessenger)

func WithRabbitMqSerializer added in v0.3.0

func WithRabbitMqSerializer(serializer serialization.ISerializer) func(*RabbitMqMessenger)

func WithRabbitMqStreamBufferSize added in v0.3.0

func WithRabbitMqStreamBufferSize(size uint) func(*RabbitMqMessenger)

Types

type IMessenger

type IMessenger[K, M any] interface {
	Publish(topic K, msg any) error
	Subscribe(topic K) async.Stream[M]
	Unsubscribe(subsciption async.Stream[M])
}

func NewRabbitMqMessenger

func NewRabbitMqMessenger(ctx context.Context, logger log.ILogger, host string, port uint16, user string, password string, opts ...func(*RabbitMqMessenger)) IMessenger[RabbitMqExchange, amqp.Delivery]

type RabbitMqExchange

type RabbitMqExchange struct {
	Type       string
	Exchange   string
	RoutingKey string
}

type RabbitMqMessenger

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

func (*RabbitMqMessenger) Publish

func (r *RabbitMqMessenger) Publish(topic RabbitMqExchange, msg any) error

Publish implements IMessenger.

func (*RabbitMqMessenger) Subscribe

Subscribe implements IMessenger.

func (*RabbitMqMessenger) Unsubscribe

func (r *RabbitMqMessenger) Unsubscribe(subsciption async.Stream[amqp.Delivery])

Unsubscribe implements IMessenger.

Jump to

Keyboard shortcuts

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