rabbit

package module
Version: v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2022 License: MIT Imports: 8 Imported by: 2

README

amqp-reconnect

v0.2.1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrConnectionIsNil  = errors.New("connection is nil")
	ErrChannelIsNil     = errors.New("channel is nil")
	ErrInvalidCapacity  = errors.New("invalid pool capacity")
	ErrConnectionClosed = errors.New("connection already closed")
	ErrChannelClosed    = errors.New("channel already closed")
)

Functions

This section is empty.

Types

type Channel

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

Обертка над каналом amqp.Channel.

func (*Channel) Ack

func (c *Channel) Ack(tag uint64, multiple bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Ack

func (*Channel) AckContext added in v0.1.5

func (c *Channel) AckContext(ctx context.Context, tag uint64, multiple bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Ack

func (*Channel) Cancel

func (c *Channel) Cancel(consumer string, noWait bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Cancel

func (*Channel) CancelContext added in v0.1.5

func (c *Channel) CancelContext(ctx context.Context, consumer string, noWait bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Cancel

func (*Channel) Channel

func (c *Channel) Channel() *amqp.Channel

Возвращает текущий канал канал. Продолжительное использование канала из этого метода не гарантирует его стабильную работу. Канал может быть разорван со стороны RabbitMQ. Рекомендуется использовать для атомарных операций.

func (*Channel) Close

func (c *Channel) Close() error

Закрывает канал.

func (*Channel) Confirm

func (c *Channel) Confirm(noWait bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Confirm

func (*Channel) ConfirmContext added in v0.1.5

func (c *Channel) ConfirmContext(ctx context.Context, noWait bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Confirm

func (*Channel) Consume

func (c *Channel) Consume(queue, consumer string, autoAck, exclusive, noLocal, noWait bool, args amqp.Table) (<-chan amqp.Delivery, error)

Обеспечивает безопасный доступ к методу amqp.Channel.Consume

func (*Channel) ConsumeContext added in v0.1.5

func (c *Channel) ConsumeContext(ctx context.Context, queue, consumer string, autoAck, exclusive, noLocal, noWait bool, args amqp.Table) (<-chan amqp.Delivery, error)

Обеспечивает безопасный доступ к методу amqp.Channel.Consume

func (*Channel) ExchangeBind

func (c *Channel) ExchangeBind(destination, key, source string, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeBind

func (*Channel) ExchangeBindContext added in v0.1.5

func (c *Channel) ExchangeBindContext(ctx context.Context, destination, key, source string, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeBind

func (*Channel) ExchangeDeclare

func (c *Channel) ExchangeDeclare(name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeDeclare

func (*Channel) ExchangeDeclareContext added in v0.1.5

func (c *Channel) ExchangeDeclareContext(ctx context.Context, name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeDeclare

func (*Channel) ExchangeDeclarePassive

func (c *Channel) ExchangeDeclarePassive(name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeDeclarePassive

func (*Channel) ExchangeDeclarePassiveContext added in v0.1.5

func (c *Channel) ExchangeDeclarePassiveContext(ctx context.Context, name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeDeclarePassive

func (*Channel) ExchangeDelete

func (c *Channel) ExchangeDelete(name string, ifUnused, noWait bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeDelete

func (*Channel) ExchangeDeleteContext added in v0.1.5

func (c *Channel) ExchangeDeleteContext(ctx context.Context, name string, ifUnused, noWait bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeDelete

func (*Channel) ExchangeUnbind

func (c *Channel) ExchangeUnbind(destination, key, source string, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeUnbind

func (*Channel) ExchangeUnbindContext added in v0.1.5

func (c *Channel) ExchangeUnbindContext(ctx context.Context, destination, key, source string, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.ExchangeUnbind

func (*Channel) Flow

func (c *Channel) Flow(active bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Flow

func (*Channel) FlowContext added in v0.1.5

func (c *Channel) FlowContext(ctx context.Context, active bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Flow

func (*Channel) Get

func (c *Channel) Get(queue string, autoAck bool) (msg amqp.Delivery, ok bool, err error)

Обеспечивает безопасный доступ к методу amqp.Channel.Get

func (*Channel) GetContext added in v0.1.5

func (c *Channel) GetContext(ctx context.Context, queue string, autoAck bool) (msg amqp.Delivery, ok bool, err error)

Обеспечивает безопасный доступ к методу amqp.Channel.Get

func (*Channel) MarkUnusable added in v0.2.0

func (c *Channel) MarkUnusable()

Помечает соединение как бесполезное.

func (*Channel) Monitor

func (c *Channel) Monitor(ctx context.Context)

Запускает процедуру, ожидающую неожиданного закрытия канала.

func (*Channel) Nack

func (c *Channel) Nack(tag uint64, multiple bool, requeue bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Nack

func (*Channel) NackContext added in v0.1.5

func (c *Channel) NackContext(ctx context.Context, tag uint64, multiple bool, requeue bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Nack

func (*Channel) NotifyCancel

func (c *Channel) NotifyCancel(ch chan string) chan string

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyCancel

func (*Channel) NotifyCancelContext added in v0.1.5

func (c *Channel) NotifyCancelContext(ctx context.Context, ch chan string) (chan string, error)

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyCancel

func (*Channel) NotifyClose

func (c *Channel) NotifyClose(ch chan *amqp.Error) chan *amqp.Error

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyClose

func (*Channel) NotifyCloseContext added in v0.1.5

func (c *Channel) NotifyCloseContext(ctx context.Context, ch chan *amqp.Error) (chan *amqp.Error, error)

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyClose

func (*Channel) NotifyConfirm

func (c *Channel) NotifyConfirm(ack, nack chan uint64) (chan uint64, chan uint64)

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyConfirm

func (*Channel) NotifyConfirmContext added in v0.1.5

func (c *Channel) NotifyConfirmContext(ctx context.Context, ack, nack chan uint64) (chan uint64, chan uint64, error)

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyConfirm

func (*Channel) NotifyFlow

func (c *Channel) NotifyFlow(ch chan bool) chan bool

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyFlow

func (*Channel) NotifyFlowContext added in v0.1.5

func (c *Channel) NotifyFlowContext(ctx context.Context, ch chan bool) (chan bool, error)

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyFlow

func (*Channel) NotifyPublish

func (c *Channel) NotifyPublish(confirm chan amqp.Confirmation) chan amqp.Confirmation

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyPublish

func (*Channel) NotifyPublishContext added in v0.1.5

func (c *Channel) NotifyPublishContext(ctx context.Context, confirm chan amqp.Confirmation) (chan amqp.Confirmation, error)

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyPublish

func (*Channel) NotifyReturn

func (c *Channel) NotifyReturn(ch chan amqp.Return) chan amqp.Return

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyReturn

func (*Channel) NotifyReturnContext added in v0.1.5

func (c *Channel) NotifyReturnContext(ctx context.Context, ch chan amqp.Return) (chan amqp.Return, error)

Обеспечивает безопасный доступ к методу amqp.Channel.NotifyReturn

func (*Channel) Publish

func (c *Channel) Publish(exchange, key string, mandatory, immediate bool, msg amqp.Publishing) error

Обеспечивает безопасный доступ к методу amqp.Channel.Publish

func (*Channel) PublishContext added in v0.1.5

func (c *Channel) PublishContext(ctx context.Context, exchange, key string, mandatory, immediate bool, msg amqp.Publishing) error

Обеспечивает безопасный доступ к методу amqp.Channel.Publish

func (*Channel) Qos

func (c *Channel) Qos(prefetchCount, prefetchSize int, global bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Qos

func (*Channel) QosContext added in v0.1.5

func (c *Channel) QosContext(ctx context.Context, prefetchCount, prefetchSize int, global bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Qos

func (*Channel) QueueBind

func (c *Channel) QueueBind(name, key, exchange string, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.QueueBind

func (*Channel) QueueBindContext added in v0.1.5

func (c *Channel) QueueBindContext(ctx context.Context, name, key, exchange string, noWait bool, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.QueueBind

func (*Channel) QueueDeclare

func (c *Channel) QueueDeclare(name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table) (amqp.Queue, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueDeclare

func (*Channel) QueueDeclareContext added in v0.1.5

func (c *Channel) QueueDeclareContext(ctx context.Context, name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table) (amqp.Queue, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueDeclare

func (*Channel) QueueDeclarePassive

func (c *Channel) QueueDeclarePassive(name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table) (amqp.Queue, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueDeclarePassive

func (*Channel) QueueDeclarePassiveContext added in v0.1.5

func (c *Channel) QueueDeclarePassiveContext(ctx context.Context, name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table) (amqp.Queue, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueDeclarePassive

func (*Channel) QueueDelete

func (c *Channel) QueueDelete(name string, ifUnused, ifEmpty, noWait bool) (int, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueDelete

func (*Channel) QueueDeleteContext added in v0.1.5

func (c *Channel) QueueDeleteContext(ctx context.Context, name string, ifUnused, ifEmpty, noWait bool) (int, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueDelete

func (*Channel) QueueInspect

func (c *Channel) QueueInspect(name string) (amqp.Queue, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueInspect

func (*Channel) QueueInspectContext added in v0.1.5

func (c *Channel) QueueInspectContext(ctx context.Context, name string) (amqp.Queue, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueueInspect

func (*Channel) QueuePurge

func (c *Channel) QueuePurge(name string, noWait bool) (int, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueuePurge

func (*Channel) QueuePurgeContext added in v0.1.5

func (c *Channel) QueuePurgeContext(ctx context.Context, name string, noWait bool) (int, error)

Обеспечивает безопасный доступ к методу amqp.Channel.QueuePurge

func (*Channel) QueueUnbind

func (c *Channel) QueueUnbind(name, key, exchange string, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.QueueUnbind

func (*Channel) QueueUnbindContext added in v0.1.5

func (c *Channel) QueueUnbindContext(ctx context.Context, name, key, exchange string, args amqp.Table) error

Обеспечивает безопасный доступ к методу amqp.Channel.QueueUnbind

func (*Channel) Recover

func (c *Channel) Recover(requeue bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Recover

func (*Channel) RecoverContext added in v0.1.5

func (c *Channel) RecoverContext(ctx context.Context, requeue bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Recover

func (*Channel) Reject

func (c *Channel) Reject(tag uint64, requeue bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Reject

func (*Channel) RejectContext added in v0.1.5

func (c *Channel) RejectContext(ctx context.Context, tag uint64, requeue bool) error

Обеспечивает безопасный доступ к методу amqp.Channel.Reject

func (*Channel) Tx

func (c *Channel) Tx() error

Обеспечивает безопасный доступ к методу amqp.Channel.Tx

func (*Channel) TxCommit

func (c *Channel) TxCommit() error

Обеспечивает безопасный доступ к методу amqp.Channel.TxCommit

func (*Channel) TxCommitContext added in v0.1.5

func (c *Channel) TxCommitContext(ctx context.Context) error

Обеспечивает безопасный доступ к методу amqp.Channel.TxCommit

func (*Channel) TxContext added in v0.1.5

func (c *Channel) TxContext(ctx context.Context) error

Обеспечивает безопасный доступ к методу amqp.Channel.Tx

func (*Channel) TxRollback

func (c *Channel) TxRollback() error

Обеспечивает безопасный доступ к методу amqp.Channel.TxRollback

func (*Channel) TxRollbackContext added in v0.1.5

func (c *Channel) TxRollbackContext(ctx context.Context) error

Обеспечивает безопасный доступ к методу amqp.Channel.TxRollback

type ChannelPool added in v0.2.0

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

func (*ChannelPool) AckContext added in v0.2.0

func (cp *ChannelPool) AckContext(ctx context.Context, tag uint64, multiple bool) error

Обеспечивает доступ к методу amqp.Channel.Ack через один из доступных в пуле каналов.

func (*ChannelPool) CancelContext added in v0.2.0

func (cp *ChannelPool) CancelContext(ctx context.Context, consumer string, noWait bool) error

Обеспечивает доступ к методу amqp.Channel.Cancel через один из доступных в пуле каналов.

func (*ChannelPool) Close added in v0.2.0

func (cp *ChannelPool) Close() (err error)

func (*ChannelPool) ConfirmContext added in v0.2.0

func (cp *ChannelPool) ConfirmContext(ctx context.Context, noWait bool) error

Обеспечивает доступ к методу amqp.Channel.Confirm через один из доступных в пуле каналов.

func (*ChannelPool) ConsumeContext added in v0.2.0

func (cp *ChannelPool) ConsumeContext(ctx context.Context, queue, consumer string, autoAck, exclusive, noLocal, noWait bool, args amqp.Table) (<-chan amqp.Delivery, error)

Обеспечивает доступ к методу amqp.Channel.Consume через один из доступных в пуле каналов.

func (*ChannelPool) ExchangeBindContext added in v0.2.0

func (cp *ChannelPool) ExchangeBindContext(ctx context.Context, destination, key, source string, noWait bool, args amqp.Table) error

Обеспечивает доступ к методу amqp.Channel.ExchangeBind через один из доступных в пуле каналов.

func (*ChannelPool) ExchangeDeclareContext added in v0.2.0

func (cp *ChannelPool) ExchangeDeclareContext(ctx context.Context, name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table) error

Обеспечивает доступ к методу amqp.Channel.ExchangeDeclare через один из доступных в пуле каналов.

func (*ChannelPool) ExchangeDeclarePassiveContext added in v0.2.0

func (cp *ChannelPool) ExchangeDeclarePassiveContext(ctx context.Context, name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table) error

Обеспечивает доступ к методу amqp.Channel.ExchangeDeclarePassive через один из доступных в пуле каналов.

func (*ChannelPool) ExchangeDeleteContext added in v0.2.0

func (cp *ChannelPool) ExchangeDeleteContext(ctx context.Context, name string, ifUnused, noWait bool) error

Обеспечивает доступ к методу amqp.Channel.ExchangeDelete через один из доступных в пуле каналов.

func (*ChannelPool) ExchangeUnbindContext added in v0.2.0

func (cp *ChannelPool) ExchangeUnbindContext(ctx context.Context, destination, key, source string, noWait bool, args amqp.Table) error

Обеспечивает доступ к методу amqp.Channel.ExchangeUnbind через один из доступных в пуле каналов.

func (*ChannelPool) FlowContext added in v0.2.0

func (cp *ChannelPool) FlowContext(ctx context.Context, active bool) error

Обеспечивает доступ к методу amqp.Channel.Flow через один из доступных в пуле каналов.

func (*ChannelPool) GetChannel added in v0.2.0

func (cp *ChannelPool) GetChannel(ctx context.Context) (*Channel, error)

func (*ChannelPool) GetContext added in v0.2.0

func (cp *ChannelPool) GetContext(ctx context.Context, queue string, autoAck bool) (msg amqp.Delivery, ok bool, err error)

Обеспечивает доступ к методу amqp.Channel.Get через один из доступных в пуле каналов.

func (*ChannelPool) NackContext added in v0.2.0

func (cp *ChannelPool) NackContext(ctx context.Context, tag uint64, multiple bool, requeue bool) error

Обеспечивает доступ к методу amqp.Channel.Nack через один из доступных в пуле каналов.

func (*ChannelPool) NotifyCancelContext added in v0.2.0

func (cp *ChannelPool) NotifyCancelContext(ctx context.Context, ch chan string) (chan string, error)

Обеспечивает доступ к методу amqp.Channel.NotifyCancel через один из доступных в пуле каналов.

func (*ChannelPool) NotifyCloseContext added in v0.2.0

func (cp *ChannelPool) NotifyCloseContext(ctx context.Context, ch chan *amqp.Error) (chan *amqp.Error, error)

Обеспечивает доступ к методу amqp.Channel.NotifyClose через один из доступных в пуле каналов.

func (*ChannelPool) NotifyConfirmContext added in v0.2.0

func (cp *ChannelPool) NotifyConfirmContext(ctx context.Context, ack, nack chan uint64) (chan uint64, chan uint64, error)

Обеспечивает доступ к методу amqp.Channel.NotifyConfirm через один из доступных в пуле каналов.

func (*ChannelPool) NotifyFlowContext added in v0.2.0

func (cp *ChannelPool) NotifyFlowContext(ctx context.Context, ch chan bool) (chan bool, error)

Обеспечивает доступ к методу amqp.Channel.NotifyFlow через один из доступных в пуле каналов.

func (*ChannelPool) NotifyPublishContext added in v0.2.0

func (cp *ChannelPool) NotifyPublishContext(ctx context.Context, confirm chan amqp.Confirmation) (chan amqp.Confirmation, error)

Обеспечивает доступ к методу amqp.Channel.NotifyPublish через один из доступных в пуле каналов.

func (*ChannelPool) NotifyReturnContext added in v0.2.0

func (cp *ChannelPool) NotifyReturnContext(ctx context.Context, ch chan amqp.Return) (chan amqp.Return, error)

Обеспечивает доступ к методу amqp.Channel.NotifyReturn через один из доступных в пуле каналов.

func (*ChannelPool) PublishContext added in v0.2.0

func (cp *ChannelPool) PublishContext(ctx context.Context, exchange, key string, mandatory, immediate bool, msg amqp.Publishing) error

Обеспечивает доступ к методу amqp.Channel.Publish через один из доступных в пуле каналов.

func (*ChannelPool) QosContext added in v0.2.0

func (cp *ChannelPool) QosContext(ctx context.Context, prefetchCount, prefetchSize int, global bool) error

Обеспечивает доступ к методу amqp.Channel.Qos через один из доступных в пуле каналов.

func (*ChannelPool) QueueBindContext added in v0.2.0

func (cp *ChannelPool) QueueBindContext(ctx context.Context, name, key, exchange string, noWait bool, args amqp.Table) error

Обеспечивает доступ к методу amqp.Channel.QueueBind через один из доступных в пуле каналов.

func (*ChannelPool) QueueDeclareContext added in v0.2.0

func (cp *ChannelPool) QueueDeclareContext(ctx context.Context, name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table) (amqp.Queue, error)

Обеспечивает доступ к методу amqp.Channel.QueueDeclare через один из доступных в пуле каналов.

func (*ChannelPool) QueueDeclarePassiveContext added in v0.2.0

func (cp *ChannelPool) QueueDeclarePassiveContext(ctx context.Context, name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table) (amqp.Queue, error)

Обеспечивает доступ к методу amqp.Channel.QueueDeclarePassive через один из доступных в пуле каналов.

func (*ChannelPool) QueueDeleteContext added in v0.2.0

func (cp *ChannelPool) QueueDeleteContext(ctx context.Context, name string, ifUnused, ifEmpty, noWait bool) (int, error)

Обеспечивает доступ к методу amqp.Channel.QueueDelete через один из доступных в пуле каналов.

func (*ChannelPool) QueueInspectContext added in v0.2.0

func (cp *ChannelPool) QueueInspectContext(ctx context.Context, name string) (amqp.Queue, error)

Обеспечивает доступ к методу amqp.Channel.QueueInspect через один из доступных в пуле каналов.

func (*ChannelPool) QueuePurgeContext added in v0.2.0

func (cp *ChannelPool) QueuePurgeContext(ctx context.Context, name string, noWait bool) (int, error)

Обеспечивает доступ к методу amqp.Channel.QueuePurge через один из доступных в пуле каналов.

func (*ChannelPool) QueueUnbindContext added in v0.2.0

func (cp *ChannelPool) QueueUnbindContext(ctx context.Context, name, key, exchange string, args amqp.Table) error

Обеспечивает доступ к методу amqp.Channel.QueueUnbind через один из доступных в пуле каналов.

func (*ChannelPool) RecoverContext added in v0.2.0

func (cp *ChannelPool) RecoverContext(ctx context.Context, requeue bool) error

Обеспечивает доступ к методу amqp.Channel.Recover через один из доступных в пуле каналов.

func (*ChannelPool) RejectContext added in v0.2.0

func (cp *ChannelPool) RejectContext(ctx context.Context, tag uint64, requeue bool) error

Обеспечивает доступ к методу amqp.Channel.Reject через один из доступных в пуле каналов.

func (*ChannelPool) TxCommitContext added in v0.2.0

func (cp *ChannelPool) TxCommitContext(ctx context.Context) error

Обеспечивает доступ к методу amqp.Channel.TxCommit через один из доступных в пуле каналов.

func (*ChannelPool) TxContext added in v0.2.0

func (cp *ChannelPool) TxContext(ctx context.Context) error

Обеспечивает доступ к методу amqp.Channel.Tx через один из доступных в пуле каналов.

func (*ChannelPool) TxRollbackContext added in v0.2.0

func (cp *ChannelPool) TxRollbackContext(ctx context.Context) error

Обеспечивает доступ к методу amqp.Channel.TxRollback через один из доступных в пуле каналов.

type ChannelPoolConfig added in v0.2.0

type ChannelPoolConfig struct {
	MinChannels int // минимальное кол-во открытых каналов
	MaxChannels int // максимальное кол-во открытых каналов
}

type Config

type Config struct {
	// URL
	Host     string
	Port     int
	User     string
	Password string

	MaxRetries int           // макс кол-во попыток восстановить соединение
	Heartbeat  time.Duration // период ожидания между попытками

	AmqpCfg amqp.Config // парметры соединения
}

Настройки подключения к Rabbit.

type Connection

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

Обертка над подключением amqp.Connection.

func NewConnection

func NewConnection(ctx context.Context, cfg *Config) (*Connection, error)

Открывает новое соединение с RabbitMQ.

func (*Connection) Channel

func (c *Connection) Channel(ctx context.Context) (*Channel, error)

Открывает канал внутри соединения.

func (*Connection) ChannelPool added in v0.2.0

func (c *Connection) ChannelPool(cfg *ChannelPoolConfig) (*ChannelPool, error)

Открывает новый пул из канал внутри соединения.

func (*Connection) Close

func (c *Connection) Close() error

Закрывает соединение.

func (*Connection) Connection

func (c *Connection) Connection() *amqp.Connection

Возвращает текущее соединение. Продолжительное использование соединения из этого метода не гарантирует его стабильную работу. Соединение может быть разорвано со стороны RabbitMQ. Рекомендуется использовать для атомарных операций.

func (*Connection) MarkUnusable added in v0.2.0

func (c *Connection) MarkUnusable()

Помечает соединение как бесполезное.

func (*Connection) Monitor

func (c *Connection) Monitor(ctx context.Context)

Запускает процедуру, ожидающую неожиданного закрытия соединения.

type ConnectionPool added in v0.2.0

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

func NewConnectionPool added in v0.2.0

func NewConnectionPool(ctx context.Context, connCfg *Config, poolCfg *ConnectionPoolConfig) (*ConnectionPool, error)

func (*ConnectionPool) Channel added in v0.2.0

func (cp *ConnectionPool) Channel(ctx context.Context) (*Channel, error)

Открывает канал внутри соединения.

func (*ConnectionPool) ChannelPool added in v0.2.0

func (cp *ConnectionPool) ChannelPool(ctx context.Context, cfg *ChannelPoolConfig) (*ChannelPool, error)

Открывает новый пул из канал внутри соединения.

func (*ConnectionPool) Close added in v0.2.0

func (cp *ConnectionPool) Close()

func (*ConnectionPool) GetConnection added in v0.2.0

func (cp *ConnectionPool) GetConnection(ctx context.Context) (*Connection, error)

type ConnectionPoolConfig added in v0.2.0

type ConnectionPoolConfig struct {
	MinConns int // минимальное кол-во соединений в пуле
	MaxConns int // максимальное кол-во соединений в пуле
}

Jump to

Keyboard shortcuts

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