Documentation ¶
Overview ¶
Package defaultmiddlewares houses the default middleware for amqp.Channel.
These middlewares enable features like continuous delivery tag values across channel disconnects.
Index ¶
- Constants
- func NewConfirmMiddleware() amqpmiddleware.ProvidesMiddleware
- func NewDeliveryTagsMiddleware() amqpmiddleware.ProvidesMiddleware
- func NewErrCantAcknowledgeOrphans(latestAck uint64, thisAck uint64, offset uint64, multiple bool) error
- func NewFlowMiddleware() amqpmiddleware.ProvidesMiddleware
- func NewLoggerFactories(logger zerolog.Logger, id string, successLogLevel zerolog.Level, ...) (connectionFactory, channelFactory amqpmiddleware.ProviderFactory)
- func NewPublishTagsMiddleware() amqpmiddleware.ProvidesMiddleware
- func NewQosMiddleware() amqpmiddleware.ProvidesMiddleware
- func NewRouteDeclarationMiddleware() amqpmiddleware.ProvidesMiddleware
- type ConfirmsMiddleware
- func (middleware *ConfirmsMiddleware) ChannelReconnect(next amqpmiddleware.HandlerChannelReconnect) (handler amqpmiddleware.HandlerChannelReconnect)
- func (middleware *ConfirmsMiddleware) Confirm(next amqpmiddleware.HandlerConfirm) (handler amqpmiddleware.HandlerConfirm)
- func (middleware *ConfirmsMiddleware) ConfirmsOn() bool
- func (middleware *ConfirmsMiddleware) TypeID() amqpmiddleware.ProviderTypeID
- type DeliveryTagsMiddleware
- func (middleware *DeliveryTagsMiddleware) Ack(next amqpmiddleware.HandlerAck) amqpmiddleware.HandlerAck
- func (middleware *DeliveryTagsMiddleware) ChannelReconnect(next amqpmiddleware.HandlerChannelReconnect) amqpmiddleware.HandlerChannelReconnect
- func (middleware *DeliveryTagsMiddleware) ConsumeEvents(next amqpmiddleware.HandlerConsumeEvents) amqpmiddleware.HandlerConsumeEvents
- func (middleware *DeliveryTagsMiddleware) Get(next amqpmiddleware.HandlerGet) amqpmiddleware.HandlerGet
- func (middleware *DeliveryTagsMiddleware) Nack(next amqpmiddleware.HandlerNack) amqpmiddleware.HandlerNack
- func (middleware *DeliveryTagsMiddleware) Reject(next amqpmiddleware.HandlerReject) amqpmiddleware.HandlerReject
- func (middleware *DeliveryTagsMiddleware) TypeID() amqpmiddleware.ProviderTypeID
- type ErrCantAcknowledgeOrphans
- type FlowMiddleware
- func (middleware *FlowMiddleware) Active() bool
- func (middleware *FlowMiddleware) ChannelReconnect(next amqpmiddleware.HandlerChannelReconnect) amqpmiddleware.HandlerChannelReconnect
- func (middleware *FlowMiddleware) Flow(next amqpmiddleware.HandlerFlow) amqpmiddleware.HandlerFlow
- func (middleware *FlowMiddleware) TypeID() amqpmiddleware.ProviderTypeID
- type LoggingMiddlewareChannel
- func (middleware LoggingMiddlewareChannel) Ack(next amqpmiddleware.HandlerAck) amqpmiddleware.HandlerAck
- func (middleware LoggingMiddlewareChannel) ChannelReconnect(next amqpmiddleware.HandlerChannelReconnect) amqpmiddleware.HandlerChannelReconnect
- func (middleware LoggingMiddlewareChannel) Close(next amqpmiddleware.HandlerClose) amqpmiddleware.HandlerClose
- func (middleware LoggingMiddlewareChannel) Confirm(next amqpmiddleware.HandlerConfirm) amqpmiddleware.HandlerConfirm
- func (middleware LoggingMiddlewareChannel) Consume(next amqpmiddleware.HandlerConsume) amqpmiddleware.HandlerConsume
- func (middleware LoggingMiddlewareChannel) ConsumeEvents(next amqpmiddleware.HandlerConsumeEvents) amqpmiddleware.HandlerConsumeEvents
- func (middleware LoggingMiddlewareChannel) ExchangeBind(next amqpmiddleware.HandlerExchangeBind) amqpmiddleware.HandlerExchangeBind
- func (middleware LoggingMiddlewareChannel) ExchangeDeclare(next amqpmiddleware.HandlerExchangeDeclare) amqpmiddleware.HandlerExchangeDeclare
- func (middleware LoggingMiddlewareChannel) ExchangeDeclarePassive(next amqpmiddleware.HandlerExchangeDeclare) amqpmiddleware.HandlerExchangeDeclare
- func (middleware LoggingMiddlewareChannel) ExchangeDelete(next amqpmiddleware.HandlerExchangeDelete) amqpmiddleware.HandlerExchangeDelete
- func (middleware LoggingMiddlewareChannel) ExchangeUnbind(next amqpmiddleware.HandlerExchangeUnbind) amqpmiddleware.HandlerExchangeUnbind
- func (middleware LoggingMiddlewareChannel) Flow(next amqpmiddleware.HandlerFlow) amqpmiddleware.HandlerFlow
- func (middleware LoggingMiddlewareChannel) Get(next amqpmiddleware.HandlerGet) amqpmiddleware.HandlerGet
- func (middleware LoggingMiddlewareChannel) Nack(next amqpmiddleware.HandlerNack) amqpmiddleware.HandlerNack
- func (middleware LoggingMiddlewareChannel) NotifyCancel(next amqpmiddleware.HandlerNotifyCancel) amqpmiddleware.HandlerNotifyCancel
- func (middleware LoggingMiddlewareChannel) NotifyClose(next amqpmiddleware.HandlerNotifyClose) amqpmiddleware.HandlerNotifyClose
- func (middleware LoggingMiddlewareChannel) NotifyCloseEvents(next amqpmiddleware.HandlerNotifyCloseEvents) amqpmiddleware.HandlerNotifyCloseEvents
- func (middleware LoggingMiddlewareChannel) NotifyConfirm(next amqpmiddleware.HandlerNotifyConfirm) amqpmiddleware.HandlerNotifyConfirm
- func (middleware LoggingMiddlewareChannel) NotifyConfirmEvents(next amqpmiddleware.HandlerNotifyConfirmEvents) amqpmiddleware.HandlerNotifyConfirmEvents
- func (middleware LoggingMiddlewareChannel) NotifyConfirmOrOrphaned(next amqpmiddleware.HandlerNotifyConfirmOrOrphaned) amqpmiddleware.HandlerNotifyConfirmOrOrphaned
- func (middleware LoggingMiddlewareChannel) NotifyConfirmOrOrphanedEvents(next amqpmiddleware.HandlerNotifyConfirmOrOrphanedEvents) amqpmiddleware.HandlerNotifyConfirmOrOrphanedEvents
- func (middleware LoggingMiddlewareChannel) NotifyDial(next amqpmiddleware.HandlerNotifyDial) amqpmiddleware.HandlerNotifyDial
- func (middleware LoggingMiddlewareChannel) NotifyDialEvents(next amqpmiddleware.HandlerNotifyDialEvents) amqpmiddleware.HandlerNotifyDialEvents
- func (middleware LoggingMiddlewareChannel) NotifyDisconnect(next amqpmiddleware.HandlerNotifyDisconnect) amqpmiddleware.HandlerNotifyDisconnect
- func (middleware LoggingMiddlewareChannel) NotifyDisconnectEvents(next amqpmiddleware.HandlerNotifyDisconnectEvents) amqpmiddleware.HandlerNotifyDisconnectEvents
- func (middleware LoggingMiddlewareChannel) NotifyFlow(next amqpmiddleware.HandlerNotifyFlow) amqpmiddleware.HandlerNotifyFlow
- func (middleware LoggingMiddlewareChannel) NotifyFlowEvents(next amqpmiddleware.HandlerNotifyFlowEvents) amqpmiddleware.HandlerNotifyFlowEvents
- func (middleware LoggingMiddlewareChannel) NotifyPublish(next amqpmiddleware.HandlerNotifyPublish) amqpmiddleware.HandlerNotifyPublish
- func (middleware LoggingMiddlewareChannel) NotifyPublishEvents(next amqpmiddleware.HandlerNotifyPublishEvents) amqpmiddleware.HandlerNotifyPublishEvents
- func (middleware LoggingMiddlewareChannel) NotifyReturn(next amqpmiddleware.HandlerNotifyReturn) amqpmiddleware.HandlerNotifyReturn
- func (middleware LoggingMiddlewareChannel) NotifyReturnEvents(next amqpmiddleware.HandlerNotifyReturnEvents) amqpmiddleware.HandlerNotifyReturnEvents
- func (middleware LoggingMiddlewareChannel) Publish(next amqpmiddleware.HandlerPublish) amqpmiddleware.HandlerPublish
- func (middleware LoggingMiddlewareChannel) QoS(next amqpmiddleware.HandlerQoS) amqpmiddleware.HandlerQoS
- func (middleware LoggingMiddlewareChannel) QueueBind(next amqpmiddleware.HandlerQueueBind) amqpmiddleware.HandlerQueueBind
- func (middleware LoggingMiddlewareChannel) QueueDeclare(next amqpmiddleware.HandlerQueueDeclare) amqpmiddleware.HandlerQueueDeclare
- func (middleware LoggingMiddlewareChannel) QueueDeclarePassive(next amqpmiddleware.HandlerQueueDeclare) amqpmiddleware.HandlerQueueDeclare
- func (middleware LoggingMiddlewareChannel) QueueDelete(next amqpmiddleware.HandlerQueueDelete) amqpmiddleware.HandlerQueueDelete
- func (middleware LoggingMiddlewareChannel) QueueInspect(next amqpmiddleware.HandlerQueueInspect) amqpmiddleware.HandlerQueueInspect
- func (middleware LoggingMiddlewareChannel) QueuePurge(next amqpmiddleware.HandlerQueuePurge) amqpmiddleware.HandlerQueuePurge
- func (middleware LoggingMiddlewareChannel) QueueUnbind(next amqpmiddleware.HandlerQueueUnbind) amqpmiddleware.HandlerQueueUnbind
- func (middleware LoggingMiddlewareChannel) Reject(next amqpmiddleware.HandlerReject) amqpmiddleware.HandlerReject
- func (middleware LoggingMiddlewareChannel) TypeID() amqpmiddleware.ProviderTypeID
- type LoggingMiddlewareConnection
- func (middleware LoggingMiddlewareConnection) Close(next amqpmiddleware.HandlerClose) amqpmiddleware.HandlerClose
- func (middleware LoggingMiddlewareConnection) ConnectionReconnect(next amqpmiddleware.HandlerConnectionReconnect) amqpmiddleware.HandlerConnectionReconnect
- func (middleware LoggingMiddlewareConnection) NotifyClose(next amqpmiddleware.HandlerNotifyClose) amqpmiddleware.HandlerNotifyClose
- func (middleware LoggingMiddlewareConnection) NotifyCloseEvents(next amqpmiddleware.HandlerNotifyCloseEvents) amqpmiddleware.HandlerNotifyCloseEvents
- func (middleware LoggingMiddlewareConnection) NotifyDial(next amqpmiddleware.HandlerNotifyDial) amqpmiddleware.HandlerNotifyDial
- func (middleware LoggingMiddlewareConnection) NotifyDialEvents(next amqpmiddleware.HandlerNotifyDialEvents) amqpmiddleware.HandlerNotifyDialEvents
- func (middleware LoggingMiddlewareConnection) NotifyDisconnect(next amqpmiddleware.HandlerNotifyDisconnect) amqpmiddleware.HandlerNotifyDisconnect
- func (middleware LoggingMiddlewareConnection) NotifyDisconnectEvents(next amqpmiddleware.HandlerNotifyDisconnectEvents) amqpmiddleware.HandlerNotifyDisconnectEvents
- func (middleware LoggingMiddlewareConnection) TypeID() amqpmiddleware.ProviderTypeID
- type PublishTagsMiddleware
- func (middleware *PublishTagsMiddleware) ChannelReconnect(next amqpmiddleware.HandlerChannelReconnect) (handler amqpmiddleware.HandlerChannelReconnect)
- func (middleware *PublishTagsMiddleware) Confirm(next amqpmiddleware.HandlerConfirm) (handler amqpmiddleware.HandlerConfirm)
- func (middleware *PublishTagsMiddleware) NotifyPublishEvents(next amqpmiddleware.HandlerNotifyPublishEvents) (handler amqpmiddleware.HandlerNotifyPublishEvents)
- func (middleware *PublishTagsMiddleware) Publish(next amqpmiddleware.HandlerPublish) (handler amqpmiddleware.HandlerPublish)
- func (middleware *PublishTagsMiddleware) PublishCount() uint64
- func (middleware *PublishTagsMiddleware) TagOffset() uint64
- func (middleware *PublishTagsMiddleware) TypeID() amqpmiddleware.ProviderTypeID
- type QoSMiddleware
- func (middleware *QoSMiddleware) ChannelReconnect(next amqpmiddleware.HandlerChannelReconnect) amqpmiddleware.HandlerChannelReconnect
- func (middleware *QoSMiddleware) IsSet() bool
- func (middleware *QoSMiddleware) QoS(next amqpmiddleware.HandlerQoS) amqpmiddleware.HandlerQoS
- func (middleware *QoSMiddleware) QosArgs() amqpmiddleware.ArgsQoS
- func (middleware *QoSMiddleware) TypeID() amqpmiddleware.ProviderTypeID
- type RouteDeclarationMiddleware
- func (middleware *RouteDeclarationMiddleware) ChannelReconnect(next amqpmiddleware.HandlerChannelReconnect) (handler amqpmiddleware.HandlerChannelReconnect)
- func (middleware *RouteDeclarationMiddleware) ExchangeBind(next amqpmiddleware.HandlerExchangeBind) (handler amqpmiddleware.HandlerExchangeBind)
- func (middleware *RouteDeclarationMiddleware) ExchangeDeclare(next amqpmiddleware.HandlerExchangeDeclare) (handler amqpmiddleware.HandlerExchangeDeclare)
- func (middleware *RouteDeclarationMiddleware) ExchangeDelete(next amqpmiddleware.HandlerExchangeDelete) (handler amqpmiddleware.HandlerExchangeDelete)
- func (middleware *RouteDeclarationMiddleware) ExchangeUnbind(next amqpmiddleware.HandlerExchangeUnbind) (handler amqpmiddleware.HandlerExchangeUnbind)
- func (middleware *RouteDeclarationMiddleware) QueueBind(next amqpmiddleware.HandlerQueueBind) (handler amqpmiddleware.HandlerQueueBind)
- func (middleware *RouteDeclarationMiddleware) QueueDeclare(next amqpmiddleware.HandlerQueueDeclare) (handler amqpmiddleware.HandlerQueueDeclare)
- func (middleware *RouteDeclarationMiddleware) QueueDelete(next amqpmiddleware.HandlerQueueDelete) (handler amqpmiddleware.HandlerQueueDelete)
- func (middleware *RouteDeclarationMiddleware) QueueUnbind(next amqpmiddleware.HandlerQueueUnbind) (handler amqpmiddleware.HandlerQueueUnbind)
- func (middleware *RouteDeclarationMiddleware) TypeID() amqpmiddleware.ProviderTypeID
Constants ¶
const ConfirmsMiddlewareID amqpmiddleware.ProviderTypeID = "DefaultConfirms"
ConfirmsMiddlewareID can be used to retrieve the running instance of ConfirmsMiddleware during testing.
const DeliveryTagsMiddlewareID amqpmiddleware.ProviderTypeID = "DefaultDeliveryTags"
DeliveryTagsMiddlewareID can be used to retrieve the running instance of DeliveryTagsMiddleware during testing.
const FlowMiddlewareID amqpmiddleware.ProviderTypeID = "DefaultFlow"
FlowMiddlewareID can be used to retrieve the running instance of FlowMiddleware during testing.
const LoggingMiddlewareID amqpmiddleware.ProviderTypeID = "DefaultLogging"
LoggingMiddlewareID can be used to retrieve the running instance of LoggingMiddlewareConnection or LoggingMiddlewareChannel during testing.
const MetadataKey = amqpmiddleware.MetadataKey("DefaultLogger")
MetadataKey can be used to fetch the logger provided by LoggingMiddlewareChannel and LoggingMiddlewareConnection from middleware contexts and amqpmiddleware.EventMetadata -- allowing other middlewares to access to logging.
const PublishTagsMiddlewareID amqpmiddleware.ProviderTypeID = "DefaultPublishTags"
PublishTagsMiddlewareID can be used to retrieve the running instance of PublishTagsMiddleware during testing.
const QoSMiddlewareID amqpmiddleware.ProviderTypeID = "DefaultQoS"
QoSMiddlewareID can be used to retrieve the running instance of QoSMiddleware during testing.
const RouteDeclarationMiddlewareID amqpmiddleware.ProviderTypeID = "DefaultRouteDeclaration"
RouteDeclarationMiddlewareID can be used to retrieve the running instance of RouteDeclarationMiddleware during testing.
Variables ¶
This section is empty.
Functions ¶
func NewConfirmMiddleware ¶
func NewConfirmMiddleware() amqpmiddleware.ProvidesMiddleware
NewConfirmMiddleware creates a new *ConfirmsMiddleware to register with a channel.
func NewDeliveryTagsMiddleware ¶
func NewDeliveryTagsMiddleware() amqpmiddleware.ProvidesMiddleware
NewDeliveryTagsMiddleware creates a new DeliveryTagsMiddleware for an amqp.Channel.
func NewErrCantAcknowledgeOrphans ¶
func NewErrCantAcknowledgeOrphans( latestAck uint64, thisAck uint64, offset uint64, multiple bool, ) error
NewErrCantAcknowledgeOrphans creates a new error when one or more tags cannot be acknowledged because they have been orphaned. This method assumes that there is an error to report, and will always result in a non-nil error object.
func NewFlowMiddleware ¶
func NewFlowMiddleware() amqpmiddleware.ProvidesMiddleware
NewFlowMiddleware creates a new FlowMiddleware for a channel.
func NewLoggerFactories ¶
func NewLoggerFactories( logger zerolog.Logger, id string, successLogLevel zerolog.Level, logArgsResultsLevel zerolog.Level, ) (connectionFactory, channelFactory amqpmiddleware.ProviderFactory)
NewLoggerFactories creates a new factory for making connection and channel logger middleware.
func NewPublishTagsMiddleware ¶
func NewPublishTagsMiddleware() amqpmiddleware.ProvidesMiddleware
NewPublishTagsMiddleware creates a new PublishTagsMiddleware.
func NewQosMiddleware ¶
func NewQosMiddleware() amqpmiddleware.ProvidesMiddleware
NewQosMiddleware creates a new QoSMiddleware.
func NewRouteDeclarationMiddleware ¶
func NewRouteDeclarationMiddleware() amqpmiddleware.ProvidesMiddleware
NewRouteDeclarationMiddleware creates a new RouteDeclarationMiddleware.
Types ¶
type ConfirmsMiddleware ¶
type ConfirmsMiddleware struct {
// contains filtered or unexported fields
}
ConfirmsMiddleware saves most recent amqp.Channel.Confirm() settings and re-applies them on restart.
func (*ConfirmsMiddleware) ChannelReconnect ¶
func (middleware *ConfirmsMiddleware) ChannelReconnect( next amqpmiddleware.HandlerChannelReconnect, ) (handler amqpmiddleware.HandlerChannelReconnect)
ChannelReconnect puts the new, underlying connection into confirmation mode if Confirm() has been called.
func (*ConfirmsMiddleware) Confirm ¶
func (middleware *ConfirmsMiddleware) Confirm( next amqpmiddleware.HandlerConfirm, ) (handler amqpmiddleware.HandlerConfirm)
Confirm captures called to amqp.Channel.Confirm() and remembers that all subsequent underlying channels should be put into confirmation mode upon reconnect.
func (*ConfirmsMiddleware) ConfirmsOn ¶
func (middleware *ConfirmsMiddleware) ConfirmsOn() bool
ConfirmsOn returns whether Confirm() has been called on this channel. For testing.
func (*ConfirmsMiddleware) TypeID ¶
func (middleware *ConfirmsMiddleware) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns a static type ID for retrieving the active middleware value during testing.
type DeliveryTagsMiddleware ¶
type DeliveryTagsMiddleware struct {
// contains filtered or unexported fields
}
DeliveryTagsMiddleware creates continuous delivery tags across reconnections.
func (*DeliveryTagsMiddleware) Ack ¶
func (middleware *DeliveryTagsMiddleware) Ack(next amqpmiddleware.HandlerAck) amqpmiddleware.HandlerAck
Ack is invoked when amqp.Channel.Ack() is called, and handles converting the delivery tag back to the original value for the underlying channel, as well as returning errors on an attempt to ACK an orphan.
func (*DeliveryTagsMiddleware) ChannelReconnect ¶
func (middleware *DeliveryTagsMiddleware) ChannelReconnect( next amqpmiddleware.HandlerChannelReconnect, ) amqpmiddleware.HandlerChannelReconnect
ChannelReconnect establishes our current delivery tag offset based on how many deliveries have been consumed across all of our connections so far.
func (*DeliveryTagsMiddleware) ConsumeEvents ¶
func (middleware *DeliveryTagsMiddleware) ConsumeEvents( next amqpmiddleware.HandlerConsumeEvents, ) amqpmiddleware.HandlerConsumeEvents
ConsumeEvents is invoked whenever an event is sent to a caller of amqp.Channel.Consume(), and handles applying the delivery tag offset.
func (*DeliveryTagsMiddleware) Get ¶
func (middleware *DeliveryTagsMiddleware) Get(next amqpmiddleware.HandlerGet) amqpmiddleware.HandlerGet
Get applies our current delivery tag offset and increments our delivery count whenever amqp.Channel.Get() is called.
func (*DeliveryTagsMiddleware) Nack ¶
func (middleware *DeliveryTagsMiddleware) Nack(next amqpmiddleware.HandlerNack) amqpmiddleware.HandlerNack
Nack is invoked when amqp.Channel.Nack() is called, and handles converting the delivery tag back to the original value for the underlying channel, as well as returning errors on an attempt to NACK an orphan.
func (*DeliveryTagsMiddleware) Reject ¶
func (middleware *DeliveryTagsMiddleware) Reject(next amqpmiddleware.HandlerReject) amqpmiddleware.HandlerReject
Reject is invoked when amqp.Channel.Reject() is called, and handles converting the delivery tag back to the original value for the underlying channel, as well as returning errors on an attempt to NACK an orphan.
func (*DeliveryTagsMiddleware) TypeID ¶
func (middleware *DeliveryTagsMiddleware) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns a static type ID for retrieving the active middleware value during testing.
type ErrCantAcknowledgeOrphans ¶
type ErrCantAcknowledgeOrphans struct { // The first tag that could not be acknowledged because it's original channel // had been closed OrphanTagFirst uint64 // The last tag that could not be acknowledged because it's original channel had // been closed. Inclusive. May be the same value as OrphanTagFirst if only one tag // was orphaned OrphanTagLast uint64 // The first tag that was successfully acknowledged. Will be 0 if multiple was set // to false or if all tags were orphans. SuccessTagFirst uint64 // The last tag that was successfully acknowledged. Will be 0 if multiple was set // to false or if all tags were orphans. May be the same as AckTagFirst if only one // tags was successfully acknowledged. SuccessTagLast uint64 }
ErrCantAcknowledgeOrphans is returned when an acknowledgement method (ack, nack, reject) cannot be completed because the original channel it was consumed from has been closed and replaced with a new one. When part of a multi-ack, it's possible that SOME tags will be orphaned and some will succeed, this error contains detailed information on both groups
func (ErrCantAcknowledgeOrphans) Error ¶
func (err ErrCantAcknowledgeOrphans) Error() string
Error implements builtins.error
func (ErrCantAcknowledgeOrphans) OrphanCount ¶
func (err ErrCantAcknowledgeOrphans) OrphanCount() uint64
OrphanCount returns number of tags orphaned (will always be 1 or greater or there would be no error).
func (ErrCantAcknowledgeOrphans) SuccessCount ¶
func (err ErrCantAcknowledgeOrphans) SuccessCount() uint64
SuccessCount returns the number of tags successfully acknowledged.
type FlowMiddleware ¶
type FlowMiddleware struct {
// contains filtered or unexported fields
}
FlowMiddleware tracks the Flow state of the channel, and if it is set to false by the user, re-established channels to flow=false.
func (*FlowMiddleware) Active ¶
func (middleware *FlowMiddleware) Active() bool
Active returns whether flow is currently active. For testing.
func (*FlowMiddleware) ChannelReconnect ¶
func (middleware *FlowMiddleware) ChannelReconnect( next amqpmiddleware.HandlerChannelReconnect, ) amqpmiddleware.HandlerChannelReconnect
ChannelReconnect sets amqp.Channel.Flow(flow=false) on the underlying channel as soon as a reconnection occurs if the user has paused the flow on the channel.
func (*FlowMiddleware) Flow ¶
func (middleware *FlowMiddleware) Flow(next amqpmiddleware.HandlerFlow) amqpmiddleware.HandlerFlow
Flow captures calls to *amqp.Channel.Flow() so channels can be paused on reconnect if the user has paused the channel.
func (*FlowMiddleware) TypeID ¶
func (middleware *FlowMiddleware) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns a static type ID for retrieving the active middleware value during testing.
type LoggingMiddlewareChannel ¶
type LoggingMiddlewareChannel struct {
// contains filtered or unexported fields
}
LoggingMiddlewareChannel provides logging middleware for amqp.Channel.
func (LoggingMiddlewareChannel) Ack ¶
func (middleware LoggingMiddlewareChannel) Ack(next amqpmiddleware.HandlerAck) amqpmiddleware.HandlerAck
Ack implements amqpmiddleware.ProvidesAck for logging.
func (LoggingMiddlewareChannel) ChannelReconnect ¶
func (middleware LoggingMiddlewareChannel) ChannelReconnect( next amqpmiddleware.HandlerChannelReconnect, ) amqpmiddleware.HandlerChannelReconnect
ChannelReconnect implements amqpmiddleware.ProvidesChannelReconnect for logging.
func (LoggingMiddlewareChannel) Close ¶
func (middleware LoggingMiddlewareChannel) Close(next amqpmiddleware.HandlerClose) amqpmiddleware.HandlerClose
Close implements amqpmiddleware.ProvidesClose for logging.
func (LoggingMiddlewareChannel) Confirm ¶
func (middleware LoggingMiddlewareChannel) Confirm( next amqpmiddleware.HandlerConfirm, ) amqpmiddleware.HandlerConfirm
Confirm implements amqpmiddleware.ProvidesConfirm for logging.
func (LoggingMiddlewareChannel) Consume ¶
func (middleware LoggingMiddlewareChannel) Consume( next amqpmiddleware.HandlerConsume, ) amqpmiddleware.HandlerConsume
Consume implements amqpmiddleware.ProvidesConsume for logging.
func (LoggingMiddlewareChannel) ConsumeEvents ¶
func (middleware LoggingMiddlewareChannel) ConsumeEvents( next amqpmiddleware.HandlerConsumeEvents, ) amqpmiddleware.HandlerConsumeEvents
ConsumeEvents implements amqpmiddleware.ProvidesConsumeEvents for logging.
func (LoggingMiddlewareChannel) ExchangeBind ¶
func (middleware LoggingMiddlewareChannel) ExchangeBind( next amqpmiddleware.HandlerExchangeBind, ) amqpmiddleware.HandlerExchangeBind
ExchangeBind implements amqpmiddleware.ProvidesExchangeBind for logging.
func (LoggingMiddlewareChannel) ExchangeDeclare ¶
func (middleware LoggingMiddlewareChannel) ExchangeDeclare( next amqpmiddleware.HandlerExchangeDeclare, ) amqpmiddleware.HandlerExchangeDeclare
ExchangeDeclare implements amqpmiddleware.ProvidesExchangeDeclare for logging.
func (LoggingMiddlewareChannel) ExchangeDeclarePassive ¶
func (middleware LoggingMiddlewareChannel) ExchangeDeclarePassive( next amqpmiddleware.HandlerExchangeDeclare, ) amqpmiddleware.HandlerExchangeDeclare
ExchangeDeclarePassive implements amqpmiddleware.ProvidesExchangeDeclarePassive for logging.
func (LoggingMiddlewareChannel) ExchangeDelete ¶
func (middleware LoggingMiddlewareChannel) ExchangeDelete( next amqpmiddleware.HandlerExchangeDelete, ) amqpmiddleware.HandlerExchangeDelete
ExchangeDelete implements amqpmiddleware.ProvidesExchangeDelete for logging.
func (LoggingMiddlewareChannel) ExchangeUnbind ¶
func (middleware LoggingMiddlewareChannel) ExchangeUnbind( next amqpmiddleware.HandlerExchangeUnbind, ) amqpmiddleware.HandlerExchangeUnbind
ExchangeUnbind implements amqpmiddleware.ProvidesExchangeUnbind for logging.
func (LoggingMiddlewareChannel) Flow ¶
func (middleware LoggingMiddlewareChannel) Flow(next amqpmiddleware.HandlerFlow) amqpmiddleware.HandlerFlow
Flow implements amqpmiddleware.ProvidesFlow for logging.
func (LoggingMiddlewareChannel) Get ¶
func (middleware LoggingMiddlewareChannel) Get(next amqpmiddleware.HandlerGet) amqpmiddleware.HandlerGet
Get implements amqpmiddleware.ProvidesGet for logging.
func (LoggingMiddlewareChannel) Nack ¶
func (middleware LoggingMiddlewareChannel) Nack(next amqpmiddleware.HandlerNack) amqpmiddleware.HandlerNack
Nack implements amqpmiddleware.ProvidesNack for logging.
func (LoggingMiddlewareChannel) NotifyCancel ¶
func (middleware LoggingMiddlewareChannel) NotifyCancel( next amqpmiddleware.HandlerNotifyCancel, ) amqpmiddleware.HandlerNotifyCancel
NotifyCancel implements amqpmiddleware.ProvidesNotifyCancel for logging.
func (LoggingMiddlewareChannel) NotifyClose ¶
func (middleware LoggingMiddlewareChannel) NotifyClose( next amqpmiddleware.HandlerNotifyClose, ) amqpmiddleware.HandlerNotifyClose
NotifyClose implements amqpmiddleware.ProvidesNotifyClose for logging.
func (LoggingMiddlewareChannel) NotifyCloseEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyCloseEvents( next amqpmiddleware.HandlerNotifyCloseEvents, ) amqpmiddleware.HandlerNotifyCloseEvents
NotifyCloseEvents implements amqpmiddleware.ProvidesNotifyCloseEvents for logging.
func (LoggingMiddlewareChannel) NotifyConfirm ¶
func (middleware LoggingMiddlewareChannel) NotifyConfirm( next amqpmiddleware.HandlerNotifyConfirm, ) amqpmiddleware.HandlerNotifyConfirm
NotifyConfirm implements amqpmiddleware.ProvidesNotifyConfirm for logging.
func (LoggingMiddlewareChannel) NotifyConfirmEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyConfirmEvents( next amqpmiddleware.HandlerNotifyConfirmEvents, ) amqpmiddleware.HandlerNotifyConfirmEvents
NotifyConfirmEvents implements amqpmiddleware.ProvidesNotifyConfirmEvents for logging.
func (LoggingMiddlewareChannel) NotifyConfirmOrOrphaned ¶
func (middleware LoggingMiddlewareChannel) NotifyConfirmOrOrphaned( next amqpmiddleware.HandlerNotifyConfirmOrOrphaned, ) amqpmiddleware.HandlerNotifyConfirmOrOrphaned
NotifyConfirmOrOrphaned implements amqpmiddleware.ProvidesNotifyConfirmOrOrphaned for logging.
func (LoggingMiddlewareChannel) NotifyConfirmOrOrphanedEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyConfirmOrOrphanedEvents( next amqpmiddleware.HandlerNotifyConfirmOrOrphanedEvents, ) amqpmiddleware.HandlerNotifyConfirmOrOrphanedEvents
NotifyConfirmOrOrphanedEvents implements amqpmiddleware.ProvidesNotifyConfirmOrOrphanedEvents for logging.
func (LoggingMiddlewareChannel) NotifyDial ¶
func (middleware LoggingMiddlewareChannel) NotifyDial( next amqpmiddleware.HandlerNotifyDial, ) amqpmiddleware.HandlerNotifyDial
NotifyDial implements amqpmiddleware.ProvidesNotifyDial for logging.
func (LoggingMiddlewareChannel) NotifyDialEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyDialEvents( next amqpmiddleware.HandlerNotifyDialEvents, ) amqpmiddleware.HandlerNotifyDialEvents
NotifyDialEvents implements amqpmiddleware.ProvidesNotifyDialEvents for logging.
func (LoggingMiddlewareChannel) NotifyDisconnect ¶
func (middleware LoggingMiddlewareChannel) NotifyDisconnect( next amqpmiddleware.HandlerNotifyDisconnect, ) amqpmiddleware.HandlerNotifyDisconnect
NotifyDisconnect implements amqpmiddleware.ProvidesNotifyDisconnect for logging.
func (LoggingMiddlewareChannel) NotifyDisconnectEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyDisconnectEvents( next amqpmiddleware.HandlerNotifyDisconnectEvents, ) amqpmiddleware.HandlerNotifyDisconnectEvents
NotifyDisconnectEvents implements amqpmiddleware.ProvidesNotifyDisconnectEvents for logging.
func (LoggingMiddlewareChannel) NotifyFlow ¶
func (middleware LoggingMiddlewareChannel) NotifyFlow( next amqpmiddleware.HandlerNotifyFlow, ) amqpmiddleware.HandlerNotifyFlow
NotifyFlow implements amqpmiddleware.ProvidesNotifyFlow for logging.
func (LoggingMiddlewareChannel) NotifyFlowEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyFlowEvents( next amqpmiddleware.HandlerNotifyFlowEvents, ) amqpmiddleware.HandlerNotifyFlowEvents
NotifyFlowEvents implements amqpmiddleware.ProvidesNotifyFlowEvents for logging.
func (LoggingMiddlewareChannel) NotifyPublish ¶
func (middleware LoggingMiddlewareChannel) NotifyPublish( next amqpmiddleware.HandlerNotifyPublish, ) amqpmiddleware.HandlerNotifyPublish
NotifyPublish implements amqpmiddleware.ProvidesNotifyPublish for logging.
func (LoggingMiddlewareChannel) NotifyPublishEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyPublishEvents( next amqpmiddleware.HandlerNotifyPublishEvents, ) amqpmiddleware.HandlerNotifyPublishEvents
NotifyPublishEvents implements amqpmiddleware.ProvidesNotifyPublishEvents for logging.
func (LoggingMiddlewareChannel) NotifyReturn ¶
func (middleware LoggingMiddlewareChannel) NotifyReturn( next amqpmiddleware.HandlerNotifyReturn, ) amqpmiddleware.HandlerNotifyReturn
NotifyReturn implements amqpmiddleware.ProvidesNotifyReturn for logging.
func (LoggingMiddlewareChannel) NotifyReturnEvents ¶
func (middleware LoggingMiddlewareChannel) NotifyReturnEvents( next amqpmiddleware.HandlerNotifyReturnEvents, ) amqpmiddleware.HandlerNotifyReturnEvents
NotifyReturnEvents implements amqpmiddleware.ProvidesNotifyReturnEvents for logging.
func (LoggingMiddlewareChannel) Publish ¶
func (middleware LoggingMiddlewareChannel) Publish( next amqpmiddleware.HandlerPublish, ) amqpmiddleware.HandlerPublish
Publish implements amqpmiddleware.ProvidesPublish for logging.
func (LoggingMiddlewareChannel) QoS ¶
func (middleware LoggingMiddlewareChannel) QoS(next amqpmiddleware.HandlerQoS) amqpmiddleware.HandlerQoS
QoS implements amqpmiddleware.ProvidesQoS for logging.
func (LoggingMiddlewareChannel) QueueBind ¶
func (middleware LoggingMiddlewareChannel) QueueBind( next amqpmiddleware.HandlerQueueBind, ) amqpmiddleware.HandlerQueueBind
QueueBind implements amqpmiddleware.ProvidesQueueBind for logging.
func (LoggingMiddlewareChannel) QueueDeclare ¶
func (middleware LoggingMiddlewareChannel) QueueDeclare( next amqpmiddleware.HandlerQueueDeclare, ) amqpmiddleware.HandlerQueueDeclare
QueueDeclare implements amqpmiddleware.ProvidesQueueDeclare for logging.
func (LoggingMiddlewareChannel) QueueDeclarePassive ¶
func (middleware LoggingMiddlewareChannel) QueueDeclarePassive( next amqpmiddleware.HandlerQueueDeclare, ) amqpmiddleware.HandlerQueueDeclare
QueueDeclarePassive implements amqpmiddleware.ProvidesQueueDeclarePassive for logging.
func (LoggingMiddlewareChannel) QueueDelete ¶
func (middleware LoggingMiddlewareChannel) QueueDelete( next amqpmiddleware.HandlerQueueDelete, ) amqpmiddleware.HandlerQueueDelete
QueueDelete implements amqpmiddleware.ProvidesQueueDelete for logging.
func (LoggingMiddlewareChannel) QueueInspect ¶
func (middleware LoggingMiddlewareChannel) QueueInspect( next amqpmiddleware.HandlerQueueInspect, ) amqpmiddleware.HandlerQueueInspect
QueueInspect implements amqpmiddleware.ProvidesQueueInspect for logging.
func (LoggingMiddlewareChannel) QueuePurge ¶
func (middleware LoggingMiddlewareChannel) QueuePurge( next amqpmiddleware.HandlerQueuePurge, ) amqpmiddleware.HandlerQueuePurge
QueuePurge implements amqpmiddleware.ProvidesQueuePurge for logging.
func (LoggingMiddlewareChannel) QueueUnbind ¶
func (middleware LoggingMiddlewareChannel) QueueUnbind( next amqpmiddleware.HandlerQueueUnbind, ) amqpmiddleware.HandlerQueueUnbind
QueueUnbind implements amqpmiddleware.ProvidesQueueUnbind for logging.
func (LoggingMiddlewareChannel) Reject ¶
func (middleware LoggingMiddlewareChannel) Reject(next amqpmiddleware.HandlerReject) amqpmiddleware.HandlerReject
Reject implements amqpmiddleware.ProvidesReject for logging.
func (LoggingMiddlewareChannel) TypeID ¶
func (middleware LoggingMiddlewareChannel) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns "DefaultLogging".
type LoggingMiddlewareConnection ¶
type LoggingMiddlewareConnection struct {
// contains filtered or unexported fields
}
LoggingMiddlewareConnection provides logging middleware for amqp.Connection.
func (LoggingMiddlewareConnection) Close ¶
func (middleware LoggingMiddlewareConnection) Close(next amqpmiddleware.HandlerClose) amqpmiddleware.HandlerClose
Close implements amqpmiddleware.ProvidesClose for logging.
func (LoggingMiddlewareConnection) ConnectionReconnect ¶
func (middleware LoggingMiddlewareConnection) ConnectionReconnect( next amqpmiddleware.HandlerConnectionReconnect, ) amqpmiddleware.HandlerConnectionReconnect
ConnectionReconnect implements amqpmiddleware.ProvidesConnectionReconnect for logging.
func (LoggingMiddlewareConnection) NotifyClose ¶
func (middleware LoggingMiddlewareConnection) NotifyClose( next amqpmiddleware.HandlerNotifyClose, ) amqpmiddleware.HandlerNotifyClose
NotifyClose implements amqpmiddleware.ProvidesNotifyClose for logging.
func (LoggingMiddlewareConnection) NotifyCloseEvents ¶
func (middleware LoggingMiddlewareConnection) NotifyCloseEvents( next amqpmiddleware.HandlerNotifyCloseEvents, ) amqpmiddleware.HandlerNotifyCloseEvents
NotifyCloseEvents implements amqpmiddleware.ProvidesNotifyCloseEvents for logging.
func (LoggingMiddlewareConnection) NotifyDial ¶
func (middleware LoggingMiddlewareConnection) NotifyDial( next amqpmiddleware.HandlerNotifyDial, ) amqpmiddleware.HandlerNotifyDial
NotifyDial implements amqpmiddleware.ProvidesNotifyDial for logging.
func (LoggingMiddlewareConnection) NotifyDialEvents ¶
func (middleware LoggingMiddlewareConnection) NotifyDialEvents( next amqpmiddleware.HandlerNotifyDialEvents, ) amqpmiddleware.HandlerNotifyDialEvents
NotifyDialEvents implements amqpmiddleware.ProvidesNotifyDialEvents for logging.
func (LoggingMiddlewareConnection) NotifyDisconnect ¶
func (middleware LoggingMiddlewareConnection) NotifyDisconnect( next amqpmiddleware.HandlerNotifyDisconnect, ) amqpmiddleware.HandlerNotifyDisconnect
NotifyDisconnect implements amqpmiddleware.ProvidesNotifyDisconnect for logging.
func (LoggingMiddlewareConnection) NotifyDisconnectEvents ¶
func (middleware LoggingMiddlewareConnection) NotifyDisconnectEvents( next amqpmiddleware.HandlerNotifyDisconnectEvents, ) amqpmiddleware.HandlerNotifyDisconnectEvents
NotifyDisconnectEvents implements amqpmiddleware.ProvidesNotifyDisconnectEvents for logging.
func (LoggingMiddlewareConnection) TypeID ¶
func (middleware LoggingMiddlewareConnection) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns "DefaultLogging".
type PublishTagsMiddleware ¶
type PublishTagsMiddleware struct {
// contains filtered or unexported fields
}
PublishTagsMiddleware keeps track of client-facing and internal Publishing DeliveryTags and applies the correct offset so tags are continuous, even over re-connections.
func (*PublishTagsMiddleware) ChannelReconnect ¶
func (middleware *PublishTagsMiddleware) ChannelReconnect( next amqpmiddleware.HandlerChannelReconnect, ) (handler amqpmiddleware.HandlerChannelReconnect)
ChannelReconnect is called during a channel reconnection events. We update the current offset based on the current publish count, and send orphan events to all amqp.Channel.NotifyPublish() listeners.
func (*PublishTagsMiddleware) Confirm ¶
func (middleware *PublishTagsMiddleware) Confirm( next amqpmiddleware.HandlerConfirm, ) (handler amqpmiddleware.HandlerConfirm)
Confirm captures a channel being set to confirmation mode. If a channel is not in confirmation mode, then publish tags are not tracked.
func (*PublishTagsMiddleware) NotifyPublishEvents ¶
func (middleware *PublishTagsMiddleware) NotifyPublishEvents( next amqpmiddleware.HandlerNotifyPublishEvents, ) (handler amqpmiddleware.HandlerNotifyPublishEvents)
NotifyPublishEvents is invoked when a channel passed to amqp.Channel.NotifyPublish is sent an event.
func (*PublishTagsMiddleware) Publish ¶
func (middleware *PublishTagsMiddleware) Publish( next amqpmiddleware.HandlerPublish, ) (handler amqpmiddleware.HandlerPublish)
Publish is invoked on amqp.Channel.Publish(), and increments out publish count if our channel is in confirmation mode.
func (*PublishTagsMiddleware) PublishCount ¶
func (middleware *PublishTagsMiddleware) PublishCount() uint64
PublishCount returns the number of messages published that this middleware has counted.
func (*PublishTagsMiddleware) TagOffset ¶
func (middleware *PublishTagsMiddleware) TagOffset() uint64
TagOffset returns the current tag offset.
func (*PublishTagsMiddleware) TypeID ¶
func (middleware *PublishTagsMiddleware) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns a static type ID for retrieving the active middleware value during testing.
type QoSMiddleware ¶
type QoSMiddleware struct {
// contains filtered or unexported fields
}
QoSMiddleware saves most recent QoS settings and re-applies them on restart.
This method is currently racy if multiple goroutines call QoS with different settings.
func (*QoSMiddleware) ChannelReconnect ¶
func (middleware *QoSMiddleware) ChannelReconnect( next amqpmiddleware.HandlerChannelReconnect, ) amqpmiddleware.HandlerChannelReconnect
ChannelReconnect is called whenever the underlying channel is reconnected. This middleware re-applies any QoS calls to the channel.
func (*QoSMiddleware) IsSet ¶
func (middleware *QoSMiddleware) IsSet() bool
IsSet returns whether the QoS has been set. For testing.
func (*QoSMiddleware) QoS ¶
func (middleware *QoSMiddleware) QoS(next amqpmiddleware.HandlerQoS) amqpmiddleware.HandlerQoS
QoS is called in amqp.Channel.QoS(). Saves the QoS settings passed to the QoS function
func (*QoSMiddleware) QosArgs ¶
func (middleware *QoSMiddleware) QosArgs() amqpmiddleware.ArgsQoS
QosArgs returns current args. For testing.
func (*QoSMiddleware) TypeID ¶
func (middleware *QoSMiddleware) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns a static type ID for retrieving the active middleware value during testing.
type RouteDeclarationMiddleware ¶
type RouteDeclarationMiddleware struct {
// contains filtered or unexported fields
}
RouteDeclarationMiddleware implements handlers for re-declaring queues, exchanges, and bindings upon reconnectMiddleware.
func (*RouteDeclarationMiddleware) ChannelReconnect ¶
func (middleware *RouteDeclarationMiddleware) ChannelReconnect( next amqpmiddleware.HandlerChannelReconnect, ) (handler amqpmiddleware.HandlerChannelReconnect)
ChannelReconnect is invoked on reconnection of the underlying amqp Channel, and makes sure our queue and exchange topology is re-configured to present a seamless experience to the caller.
func (*RouteDeclarationMiddleware) ExchangeBind ¶
func (middleware *RouteDeclarationMiddleware) ExchangeBind( next amqpmiddleware.HandlerExchangeBind, ) (handler amqpmiddleware.HandlerExchangeBind)
ExchangeBind captures amqp.Channel.ExchangeBind() saves passed arguments, so exchange bindings can be re-declared on channel reconnection.
func (*RouteDeclarationMiddleware) ExchangeDeclare ¶
func (middleware *RouteDeclarationMiddleware) ExchangeDeclare( next amqpmiddleware.HandlerExchangeDeclare, ) (handler amqpmiddleware.HandlerExchangeDeclare)
ExchangeDeclare captures amqp.Channel.ExchangeDeclare() saves passed arguments so exchanges can be re-declared on channel reconnection.
func (*RouteDeclarationMiddleware) ExchangeDelete ¶
func (middleware *RouteDeclarationMiddleware) ExchangeDelete( next amqpmiddleware.HandlerExchangeDelete, ) (handler amqpmiddleware.HandlerExchangeDelete)
ExchangeDelete captures amqp.Channel.ExchangeDelete() calls and removes all relevant saved exchanges so they are not re-declared on a channel reconnect.
func (*RouteDeclarationMiddleware) ExchangeUnbind ¶
func (middleware *RouteDeclarationMiddleware) ExchangeUnbind( next amqpmiddleware.HandlerExchangeUnbind, ) (handler amqpmiddleware.HandlerExchangeUnbind)
ExchangeUnbind captures amqp.Channel.ExchangeUnbind() calls and removes all relevant saved bindings so they are not re-declared on a channel reconnect.
func (*RouteDeclarationMiddleware) QueueBind ¶
func (middleware *RouteDeclarationMiddleware) QueueBind( next amqpmiddleware.HandlerQueueBind, ) (handler amqpmiddleware.HandlerQueueBind)
QueueBind captures amqp.Channel.QueueBind() saves queue bind arguments, so they can be re-declared on channel reconnection.
func (*RouteDeclarationMiddleware) QueueDeclare ¶
func (middleware *RouteDeclarationMiddleware) QueueDeclare( next amqpmiddleware.HandlerQueueDeclare, ) (handler amqpmiddleware.HandlerQueueDeclare)
QueueDeclare captures amqp.Channel.QueueDeclare() calls and stores their arguments for re-declaring channels on disconnect.
func (*RouteDeclarationMiddleware) QueueDelete ¶
func (middleware *RouteDeclarationMiddleware) QueueDelete( next amqpmiddleware.HandlerQueueDelete, ) (handler amqpmiddleware.HandlerQueueDelete)
QueueDelete captures amqp.Channel.QueueDelete() calls and removes all relevant saved queues and bindings so they are not re-declared on a channel reconnect.
func (*RouteDeclarationMiddleware) QueueUnbind ¶
func (middleware *RouteDeclarationMiddleware) QueueUnbind( next amqpmiddleware.HandlerQueueUnbind, ) (handler amqpmiddleware.HandlerQueueUnbind)
QueueUnbind captures amqp.Channel.QueueUnbind() calls and removes all relevant saved bindings so they are not re-declared on a channel reconnect.
func (*RouteDeclarationMiddleware) TypeID ¶
func (middleware *RouteDeclarationMiddleware) TypeID() amqpmiddleware.ProviderTypeID
TypeID implements amqpmiddleware.ProvidesMiddleware and returns a static type ID for retrieving the active middleware value during testing.