rmqc

package
v0.0.0-...-2c15619 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Consumer

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

func (*Consumer) Consume

func (c *Consumer) Consume(id int)

type ConsumerBuilder

type ConsumerBuilder struct {
	Reconnect struct {
		MaxAttempt int
		Interval   time.Duration
	}
	// contains filtered or unexported fields
}

func NewConsumerBuilder

func NewConsumerBuilder() *ConsumerBuilder

func (*ConsumerBuilder) BindQueue

func (cb *ConsumerBuilder) BindQueue(name string) *ConsumerBuilder

func (*ConsumerBuilder) BindQueueWithArg

func (cb *ConsumerBuilder) BindQueueWithArg(name string, arg map[string]interface{}) *ConsumerBuilder

func (*ConsumerBuilder) SetConsumerCount

func (cb *ConsumerBuilder) SetConsumerCount(v int) *ConsumerBuilder

func (*ConsumerBuilder) SetConsumerName

func (cb *ConsumerBuilder) SetConsumerName(v string) *ConsumerBuilder

func (*ConsumerBuilder) SetPrefetchCount

func (cb *ConsumerBuilder) SetPrefetchCount(v int) *ConsumerBuilder

func (*ConsumerBuilder) Subscribe

func (cb *ConsumerBuilder) Subscribe(exchangeName, routingKey string, exchangeType ExchangeType) *ConsumerBuilder

func (*ConsumerBuilder) SubscribeAsDirect

func (cb *ConsumerBuilder) SubscribeAsDirect(exchangeName, routingKey string) *ConsumerBuilder

func (*ConsumerBuilder) SubscribeAsFanout

func (cb *ConsumerBuilder) SubscribeAsFanout(exchangeName, routingKey string) *ConsumerBuilder

func (*ConsumerBuilder) SubscribeAsHeaders

func (cb *ConsumerBuilder) SubscribeAsHeaders(exchangeName, routingKey string) *ConsumerBuilder

func (*ConsumerBuilder) SubscribeAsTopic

func (cb *ConsumerBuilder) SubscribeAsTopic(exchangeName, routingKey string) *ConsumerBuilder

type ConsumerConfig

type ConsumerConfig struct {
	QueueName    string
	ConsumerName string
	Consumer     IConsumer
	Reconnect    Reconnect
	Qos          struct {
		PrefetchCount int
		ConsumerCount int
	}
}

type ConsumerContext

type ConsumerContext struct {
	MessageId     string
	CorrelationId string
	Exchange      string
	RoutingKey    string
	Data          []byte
}

func (*ConsumerContext) Unmarshal

func (c *ConsumerContext) Unmarshal(t interface{})

type ExchangeType

type ExchangeType string
const (
	ExchangeType_Topic   ExchangeType = "topic"
	ExchangeType_Direct  ExchangeType = "direct"
	ExchangeType_Fanout  ExchangeType = "fanout"
	ExchangeType_Headers ExchangeType = "headers"
)

type IConsumer

type IConsumer interface {
	Configure(builder *ConsumerBuilder)
	Consume(context *ConsumerContext)
}

type Queue

type Queue struct {
	Name string
	Arg  map[string]interface{}
}

type RabbitMQ

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

func Connect

func Connect(config RabbitMQConfig) (*RabbitMQ, error)

func (*RabbitMQ) BindConsumer

func (rbt *RabbitMQ) BindConsumer(consumerModel IConsumer) error

func (RabbitMQ) Publish

func (rbt RabbitMQ) Publish(exchangeName, routingKey string, data interface{}) error

func (RabbitMQ) PublishWithCorrelationId

func (rbt RabbitMQ) PublishWithCorrelationId(exchangeName, routingKey, correlationId string, data interface{}) error

func (*RabbitMQ) Start

func (rbt *RabbitMQ) Start()

type RabbitMQConfig

type RabbitMQConfig struct {
	Username       string
	Password       string
	Host           string
	Port           string
	VHost          string
	ConnectionName string
	Reconnect      Reconnect
}

type Reconnect

type Reconnect struct {
	MaxAttempt int
	Interval   time.Duration
}

type Subscriber

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

Jump to

Keyboard shortcuts

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