Versions in this module Expand all Collapse all v0 v0.2.0 Aug 23, 2026 Changes in this version + type IChannel interface + Close func() error + ConsumeWithContext func(context.Context, string, string, bool, bool, bool, bool, Args) (<-chan amqp091.Delivery, error) + ExchangeDeclare func(string, string, bool, bool, bool, bool, Args) error + Get func(string, bool) (amqp091.Delivery, bool, error) + IsClosed func() bool + NotifyClose func(chan Error) chan Error + PublishWithContext func(context.Context, string, string, bool, bool, OutcomeMessage) error + QueueBind func(string, string, string, bool, Args) error + QueueDeclare func(string, bool, bool, bool, bool, Args) (amqp091.Queue, error) + QueueDelete func(string, bool, bool, bool) (int, error) + QueueInspect func(string) (amqp091.Queue, error) + type IConnection interface + Channel func() (*amqp091.Channel, error) + Close func() error + IsClosed func() bool + NotifyClose func(chan Error) chan Error type Service + func (service *Service) ChannelContext(ctx context.Context) (channel IChannel, err error) + func (service *Service) WaitReadyContext(ctx context.Context) error v0.1.0 Aug 10, 2026 Changes in this version + const ConsumerServiceToken + const ModuleConfigToken + const ProducerServiceToken + const ServiceToken + var ConsumerServiceInjections = react.InjectFromBase(ServiceToken) + var Module = ...(gioc.FactoryProvider(ServiceToken, ...), ...) + var ProducerServiceInjections = react.InjectFromBase(ServiceToken) + var ServiceInjections = react.InjectFromBase(ModuleConfigToken) + func ProvideModuleConfig(config *ModuleConfig) gioc.IProvider + type Args = amqp091.Table + type Binding struct + Args Args + Exchange *Exchange + Key string + NoWait bool + func Bind(exchange *Exchange, keys ...string) (bindings []*Binding) + func MultiBind(bindings ...[]*Binding) (result []*Binding) + func (binding *Binding) SetArgs(args Args) *Binding + func (binding *Binding) SetExchange(exchange *Exchange) *Binding + func (binding *Binding) SetKey(key string) *Binding + func (binding *Binding) SetNoWait(noWait bool) *Binding + type Channel interface + Close func() error + ConsumeWithContext func(context.Context, string, string, bool, bool, bool, bool, Args) (<-chan amqp091.Delivery, error) + ExchangeDeclare func(string, string, bool, bool, bool, bool, Args) error + Get func(string, bool) (amqp091.Delivery, bool, error) + IsClosed func() bool + NotifyClose func(chan Error) chan Error + PublishWithContext func(context.Context, string, string, bool, bool, OutcomeMessage) error + QueueBind func(string, string, string, bool, Args) error + QueueDeclare func(string, bool, bool, bool, bool, Args) (amqp091.Queue, error) + QueueDelete func(string, bool, bool, bool) (int, error) + QueueInspect func(string) (amqp091.Queue, error) + type ChannelProvider func() (Channel, error) + type Connection interface + Channel func() (*amqp091.Channel, error) + Close func() error + IsClosed func() bool + NotifyClose func(chan Error) chan Error + type Consumer struct + Args Args + AutoAck bool + Exclusive bool + Handler MessageHandler + NoLocal bool + NoWait bool + Queue *Queue + Tag string + func (consumer *Consumer) SetArgs(args Args) *Consumer + func (consumer *Consumer) SetAutoAck(autoAck bool) *Consumer + func (consumer *Consumer) SetExclusive(exclusive bool) *Consumer + func (consumer *Consumer) SetHandler(handler MessageHandler) *Consumer + func (consumer *Consumer) SetNoLocal(noLocal bool) *Consumer + func (consumer *Consumer) SetNoWait(noWait bool) *Consumer + func (consumer *Consumer) SetQueue(queue *Queue) *Consumer + func (consumer *Consumer) SetTag(tag string) *Consumer + type ConsumerService struct + func NewConsumerService(injections gioc.Injections) (service *ConsumerService, err error) + func (service *ConsumerService) Consume(consumer *Consumer) (err error) + type Error = *amqp091.Error + type Exchange struct + Args Args + AutoDelete bool + Durable bool + Internal bool + Kind string + Name string + NoWait bool + func NewExchange(name string) *Exchange + func (exchange *Exchange) SetArgs(args Args) *Exchange + func (exchange *Exchange) SetAutoDelete(autoDelete bool) *Exchange + func (exchange *Exchange) SetDurable(durable bool) *Exchange + func (exchange *Exchange) SetInternal(internal bool) *Exchange + func (exchange *Exchange) SetKind(kind string) *Exchange + func (exchange *Exchange) SetName(name string) *Exchange + func (exchange *Exchange) SetNoWait(noWait bool) *Exchange + type IncomeMessage amqp091.Delivery + func (message IncomeMessage) Ack(multiple bool) error + func (message IncomeMessage) Nack(multiple, requeue bool) error + func (message IncomeMessage) Reject(requeue bool) error + func (message IncomeMessage) Retry(multiple, requeue bool) (Retry, error) + func (message IncomeMessage) RetryState() Retry + type MessageHandler func(message IncomeMessage) error + type ModuleConfig struct + Host string + Password string + Port int + RetryCount int + RetryDelay time.Duration + User string + VirtualHost string + type OutcomeMessage = amqp091.Publishing + type ProducerService struct + func NewProducerService(injections gioc.Injections) (service *ProducerService, err error) + func (producer *ProducerService) Bind(exchange *Exchange) + func (producer *ProducerService) Produce(publication *Publication) (err error) + func (producer *ProducerService) WithTimeout(timeout time.Duration) + type Publication struct + Destination string + Immediate bool + Mandatary bool + Message OutcomeMessage + func (publication *Publication) SetDestination(destination string) *Publication + func (publication *Publication) SetImmediate(immediate bool) *Publication + func (publication *Publication) SetMandatary(mandatary bool) *Publication + func (publication *Publication) SetMandatory(mandatory bool) *Publication + func (publication *Publication) SetMessage(message OutcomeMessage) *Publication + type Queue struct + Args Args + AutoDelete bool + Bindings []*Binding + Durable bool + Exclusive bool + Name string + NoWait bool + func NewQueue(name string) *Queue + func (queue *Queue) AddBindings(bindings ...*Binding) *Queue + func (queue *Queue) DeriveDLQ(suffix ...string) *Queue + func (queue *Queue) SetArgs(args Args) *Queue + func (queue *Queue) SetAutoDelete(autoDelete bool) *Queue + func (queue *Queue) SetBindings(bindings ...*Binding) *Queue + func (queue *Queue) SetDLQ(exchange *Exchange, key string) *Queue + func (queue *Queue) SetDurable(durable bool) *Queue + func (queue *Queue) SetExclusive(exclusive bool) *Queue + func (queue *Queue) SetMessageTTL(ttl time.Duration) *Queue + func (queue *Queue) SetName(name string) *Queue + func (queue *Queue) SetNoWait(noWait bool) *Queue + type Retry struct + Count int + Reason string + type Service struct + func NewRmqService(injections gioc.Injections) (service *Service, err error) + func (service *Service) Channel() (channel Channel, err error) + func (service *Service) CreateBinding(queue *Queue, binding *Binding) (err error) + func (service *Service) CreateExchange(exchange *Exchange) (err error) + func (service *Service) CreateQueues(queues ...*Queue) (result []*Queue, err error) + func (service *Service) Restarting() bool + func (service *Service) WaitReady() error