Browse Source

Add Declarator

pull/127/head
WiRight 3 years ago
parent
commit
6128c9e53e
No known key found for this signature in database GPG Key ID: 427DBE0B77ED3FBD
1 changed files with 37 additions and 0 deletions
  1. +37
    -0
      declare.go

+ 37
- 0
declare.go View File

@ -1,9 +1,46 @@
package rabbitmq
import (
"errors"
"fmt"
"github.com/DizoftTeam/go-rabbitmq/internal/channelmanager"
)
type Declarator struct {
chanManager *channelmanager.ChannelManager
}
func NewDeclarator(conn *Conn) (*Declarator, error) {
defaultOptions := getDefaultPublisherOptions()
options := &defaultOptions
if conn.connectionManager == nil {
return nil, errors.New("connection manager can't be nil")
}
chanManager, err := channelmanager.NewChannelManager(conn.connectionManager, options.Logger, conn.connectionManager.ReconnectInterval)
if err != nil {
return nil, err
}
result := &Declarator{
chanManager: chanManager,
}
return result, nil
}
func (d *Declarator) Declare(options ConsumerOptions) error {
err := declareBindings(d.chanManager, options)
if err != nil {
return fmt.Errorf("declare bindings failed: %w", err)
}
return nil
}
func declareQueue(chanManager *channelmanager.ChannelManager, options QueueOptions) error {
if !options.Declare {
return nil


Loading…
Cancel
Save