consumer

package
v0.6.10 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2025 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultTickerInterval is the default interval for the ticker in the consumer
	DefaultTickerInterval = 1 * time.Second

	// DefaultTokensMessageConsumerChannelBufferSize is the default buffer size for the tokens message consumer channel
	DefaultTokensMessageConsumerChannelBufferSize = 100
)

Functions

This section is empty.

Types

type Consumer

type Consumer interface {
	Open() error
	Close() error
	CreateTokensMessagesConsumer(ctx context.Context) (
		TokensMessagesConsumer,
		error,
	)
}

Consumer is the interface for the JWT RabbitMQ consumer

type DefaultConsumer

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

DefaultConsumer is the default implementation of the Consumer interface

func NewDefaultConsumer

func NewDefaultConsumer(
	conn *amqp091.Connection,
	queueName string,
	period time.Duration,
	tokensMessagesConsumerChannelBufferSize int,
	logger *slog.Logger,
) (*DefaultConsumer, error)

NewDefaultConsumer creates a new DefaultConsumer

Parameters:

  • conn: the RabbitMQ connection
  • queueName: the name of the queue
  • period: the polling period
  • tokensMessagesConsumerChannelBufferSize: the buffer size for the messages channel
  • logger: the logger

Returns:

  • *DefaultConsumer: the DefaultConsumer instance
  • error: an error if the connection is nil

func (*DefaultConsumer) Close

func (d *DefaultConsumer) Close() error

Close closes the RabbitMQ channel and connection

Returns:

  • error: an error if the channel could not be closed

func (*DefaultConsumer) CreateTokensMessagesConsumer added in v0.6.3

func (d *DefaultConsumer) CreateTokensMessagesConsumer(ctx context.Context) (
	TokensMessagesConsumer,
	error,
)

CreateTokensMessagesConsumer creates a tokens messages consumer

Parameters:

  • ctx: the context

Returns:

  • TokensMessagesConsumer: the tokens messages consumer
  • error: an error if the consumer could not be created

func (*DefaultConsumer) Open

func (d *DefaultConsumer) Open() error

Open opens a RabbitMQ channel

Returns:

  • error: an error if the channel could not be opened

type DefaultTokensMessagesConsumer added in v0.6.3

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

DefaultTokensMessagesConsumer is the default implementation of the TokensMessagesConsumer interface

func NewDefaultTokensMessagesConsumer added in v0.6.3

func NewDefaultTokensMessagesConsumer(
	deliveryCh <-chan amqp091.Delivery,
	bufferSize int,
	period time.Duration,
	logger *slog.Logger,
) (*DefaultTokensMessagesConsumer, error)

NewDefaultTokensMessagesConsumer creates a new DefaultTokensMessagesConsumer

Parameters:

  • deliveryCh: the RabbitMQ delivery channel
  • bufferSize: the buffer size for the messages channel
  • period: the polling period
  • logger: the logger

Returns:

  • *DefaultTokensMessagesConsumer: the DefaultTokensMessagesConsumer instance
  • error: an error if the delivery channel is nil

func (DefaultTokensMessagesConsumer) ConsumeTokensMessages added in v0.6.3

func (d DefaultTokensMessagesConsumer) ConsumeTokensMessages(
	ctx context.Context,
) error

ConsumeTokensMessages consumes a tokens message and sends it to the channel

Parameters:

  • ctx: the context

Returns:

func (DefaultTokensMessagesConsumer) GetChannel added in v0.6.3

GetChannel returns the tokens message consumer channel

Returns:

  • <-chan gojwtrabbitmq.TokensMessage: the tokens message consumer channel

type TokensMessagesConsumer added in v0.6.3

type TokensMessagesConsumer interface {
	GetChannel() <-chan *gojwtrabbitmq.TokensMessage
	ConsumeTokensMessages(ctx context.Context) error
}

TokensMessagesConsumer is the interface for the JWT RabbitMQ tokens messages consumer

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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