Table of Contents

Namespace Silverback.Messaging.Broker

Classes

BrokerClient

Wraps the underlying client libraries (e.g. Kafka consumers and producers or Mqtt clients) and handles the connection lifecycle.

Consumer<TIdentifier>

Consumes from one or more endpoints and pushes the received messages via the message bus.

KafkaConsumer

Consumes from one or more endpoints and pushes the received messages via the message bus.

KafkaConsumerLocalTimeoutMonitor

Handles the consumer error callback and reverts the consumer Connected status to Started when the local poll timeout is exceeded. The consumer should eventually reconnect but this allows to accurately track its status.

KafkaOffset

Represents the position of the message in a partition.

KafkaProducer

Produces the messages to an endpoint.

KafkaTransactionalProducer

Produces the messages to an endpoint.

MissingKafkaTransactionException

The exception that is thrown when a transactional producer is used but the transaction has not been initialized.

MqttConsumer

Consumes from one or more endpoints and pushes the received messages via the message bus.

MqttMessageIdentifier

The MQTT broker doesn't provide any message identifier, so this is a client-side generated identifier (GUID).

MqttProducer

Produces the messages to an endpoint.

ProduceException

The exception that is thrown by the IProducer when the message cannot be produced or the message broker didn't acknowledge it.

Producer

Produces the messages to an endpoint.

Interfaces

IBrokerClient

Wraps the underlying client libraries (e.g. Kafka consumers and producers or Mqtt clients) and handles the connection lifecycle.

IBrokerClientCollection

Holds a reference to all the configured IBrokerClient.

IBrokerClientsConnector

Initializes and connects the configured producers and consumers.

IBrokerMessageIdentifier

The primary identifier used by the message broker to recognize the exact message. It can represent a Kafka offset or other similar constructs. If the message broker doesn't provide any message identifier, a local one can be created (e.g. Guid.NewGuid()) and it will be used to match the message to be committed.

IConsumer

Consumes from one or more endpoints and pushes the received messages via the message bus.

IConsumerCollection

Holds a reference to all the configured IConsumer.

IConsumerStatusChange

Encapsulates the information about the consumer status transition.

IConsumerStatusInfo

Encapsulates the status details and basic statistics of an IConsumer.

IKafkaConsumer

Consumes from one or more endpoints and pushes the received messages via the message bus.

IKafkaTransactionalProducerCollection

Return a KafkaProducer that can be used to produce messages in a transaction. These producer are used through the KafkaTransactionalProducer.

IProducer

Produces the messages to an endpoint.

IProducerCollection

Returns an IProducer that can be used to produce messages against the message broker.

Enums

ClientStatus

The possible states of an IBrokerClient.

ConsumerStatus

The possible states of the IConsumer as exposed in the IConsumerStatusInfo.