xframe/component/queue/rabbitmq/options.go

26 lines
515 B
Go
Raw Normal View History

2024-10-12 12:55:20 +08:00
package rabbitmq
// ListenerOptions rabbitmq listener options
type ListenerOptions struct {
queueDeclareArgs map[string]any
}
func (o *ListenerOptions) SetQueueDeclareArgs(args map[string]any) *ListenerOptions {
o.queueDeclareArgs = args
return o
}
func mergeListenerOptions(opts ...*ListenerOptions) *ListenerOptions {
o := new(ListenerOptions)
for _, opt := range opts {
if opt == nil {
continue
}
if opt.queueDeclareArgs != nil {
o.queueDeclareArgs = opt.queueDeclareArgs
}
}
return o
}