subscriber

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	NotSubscribedErr   = errors.New("subscription is not yet active")
	AlreadyHandlingErr = errors.New("this subscriber is already handling messages")
)

Functions

This section is empty.

Types

type KafkaSubscriber

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

func NewKafkaSubscriber

func NewKafkaSubscriber(configuration *configuration.KafkaConfiguration) (*KafkaSubscriber, error)

func (*KafkaSubscriber) BeginHandle

func (subscriber *KafkaSubscriber) BeginHandle() error

func (*KafkaSubscriber) Close

func (subscriber *KafkaSubscriber) Close() error

func (*KafkaSubscriber) StopHandle

func (subscriber *KafkaSubscriber) StopHandle()

func (*KafkaSubscriber) Subscribe

func (subscriber *KafkaSubscriber) Subscribe(handler MessageHandler) error

func (*KafkaSubscriber) Unsubscribe

func (subscriber *KafkaSubscriber) Unsubscribe() error

type MessageHandler

type MessageHandler interface {
	// HandleMessage parses the message received from the broker and takes any necessary action to process it.
	// True is returned if the message has been correctly handled, false otherwise.
	HandleMessage(message []byte) bool
	// GetTopic returns a topic, messages from which can be handled by this handler
	GetTopic() string
}

MessageHandler is responsible for processing messages read from the message broker.

type Subscriber

type Subscriber interface {
	// Subscribe subscribed to a topic defined in handler.
	Subscribe(handler MessageHandler) error
	// Unsubscribe removes current subscription.
	Unsubscribe() error

	// BeginHandle starts handling messages received from the broker.
	// This call starts a goroutine in the background and will not block.
	BeginHandle() error
	// StopHandle stops message handling and blocks until current message processing finishes.
	StopHandle()

	// Close disables handling, unsubscribed, and disconnects from the broker.
	Close() error
}

Subscriber is a consumer for a message broker. It will listen for new messages from the broker and pass them for handling.

Jump to

Keyboard shortcuts

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