messaging

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2024 License: Apache-2.0 Imports: 18 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 interface {
	Listen(ctx context.Context, handler MessageHandler)
}

type ConsumerSQS

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

func (*ConsumerSQS) Listen

func (c *ConsumerSQS) Listen(ctx context.Context, handler MessageHandler)

type Message

type Message struct {
	Id       uuid.UUID   `json:"id"`
	Type     string      `json:"type"`
	Action   string      `json:"action"`
	TenantId string      `json:"tenant_id"`
	UserId   string      `json:"user_id"`
	Message  interface{} `json:"message"`
}

func NewMessage

func NewMessage(msgType, action, tenantId, userId string, message interface{}) *Message

func (*Message) DecodeMessage

func (msg *Message) DecodeMessage(model interface{}) error

func (*Message) String

func (msg *Message) String() string

type MessageHandler

type MessageHandler = func(ctx context.Context, msg *Message)

type Messaging

type Messaging interface {
	NewProducer() Producer
	NewConsumer(att QueueAttributes) Consumer
	Close() error
}

func FactoryMessaging

func FactoryMessaging(provider env.MessagingProvider) (Messaging, error)

type MessagingAWS

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

func NewMessagingSQS

func NewMessagingSQS() (*MessagingAWS, error)

func (*MessagingAWS) Close

func (m *MessagingAWS) Close() error

func (*MessagingAWS) NewConsumer

func (m *MessagingAWS) NewConsumer(att QueueAttributes) Consumer

func (*MessagingAWS) NewProducer

func (m *MessagingAWS) NewProducer() Producer

type MessagingBuilder

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

func New

func New(provider env.MessagingProvider) *MessagingBuilder

func (*MessagingBuilder) Build

func (b *MessagingBuilder) Build() Messaging

func (*MessagingBuilder) Close

func (b *MessagingBuilder) Close()

func (*MessagingBuilder) DeclareExchange

func (b *MessagingBuilder) DeclareExchange(exchangeName string) *MessagingBuilder

type MessagingConfig

type MessagingConfig struct {
	QueueName string
}

type MessagingFactory

type MessagingFactory struct{}

type Producer

type Producer interface {
	SendToTopic(ctx context.Context, topic QueueAttributes, msg *Message) error
}

type ProducerSQS

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

func (*ProducerSQS) SendToTopic

func (p *ProducerSQS) SendToTopic(ctx context.Context, topic QueueAttributes, msg *Message) error

type QueueAttributes

type QueueAttributes struct {
	QueueName  string
	RoutingKey string
}

type QueueConfig

type QueueConfig struct {
	Exchange   string
	QueueName  string
	RoutingKey string
}

type RabbitMQ

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

func NewRabbitMQ

func NewRabbitMQ() (*RabbitMQ, error)

func (*RabbitMQ) Close

func (r *RabbitMQ) Close() error

func (*RabbitMQ) DeclareExchange

func (r *RabbitMQ) DeclareExchange(exchangeName string) *RabbitMQ

func (*RabbitMQ) NewConsumer

func (r *RabbitMQ) NewConsumer(att QueueAttributes) Consumer

func (*RabbitMQ) NewProducer

func (r *RabbitMQ) NewProducer() Producer

type RabbitMQConsumer

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

func (*RabbitMQConsumer) Listen

func (c *RabbitMQConsumer) Listen(ctx context.Context, handler MessageHandler)

type RabbitMQObserver

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

func (RabbitMQObserver) Close

func (o RabbitMQObserver) Close()

type RabbitMQProducer

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

func (*RabbitMQProducer) SendToTopic

func (p *RabbitMQProducer) SendToTopic(ctx context.Context, topic QueueAttributes, msg *Message) error

Jump to

Keyboard shortcuts

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