Namespace Confluent.Kafka
Classes
AdminClientBuilder
A builder for IAdminClient.
AdminClientConfig
AdminClient configuration properties
BrokerMetadata
Metadata pertaining to a single Kafka broker.
ClientConfig
Configuration common to all clients
ClientExtensions
IClient extension methods
CommittedOffsets
Encapsulates information provided to a Consumer's OnOffsetsCommitted event - per-partition offsets and success/error together with overall success/error of the commit operation.
Config
Base functionality common to all configuration classes.
ConfigPropertyNames
Names of all configuration properties specific to the .NET Client.
ConfigPropertyNames.Consumer
Consumer specific configuration properties.
ConfigPropertyNames.Producer
Producer specific configuration properties.
ConsumeException
Represents an error that occurred during message consumption.
ConsumeResult<TKey, TValue>
Represents a message consumed from a Kafka cluster.
ConsumerBuilder<TKey, TValue>
A builder class for IConsumer<TKey, TValue>.
ConsumerConfig
Consumer configuration properties
ConsumerGroupTopicPartitionOffsets
Represents a Kafka tuple (consumer group, list of TopicPartitionOffsets).
ConsumerGroupTopicPartitions
Represents a Kafka tuple (consumer group, list of TopicPartions).
DeliveryReport<TKey, TValue>
The result of a produce request.
DeliveryResult<TKey, TValue>
Encapsulates the result of a successful produce request.
DependentAdminClientBuilder
A builder class for IAdminClient instance implementations that leverage an existing client handle.
DependentProducerBuilder<TKey, TValue>
A builder class for IProducer<TKey, TValue> instance implementations that leverage an existing client handle.
[API-SUBJECT-TO-CHANGE] - This class may be removed in the future in favor of an improved API for this functionality.
Deserializers
Deserializers for use with Confluent.Kafka.Consumer<TKey, TValue>.
Error
Represents an error that occured when interacting with a Kafka broker or the librdkafka library.
ErrorCodeExtensions
Provides extension methods on the ErrorCode enumeration.
GroupInfo
Encapsulates information describing a particular Kafka group.
GroupMemberInfo
Encapsulates information describing a particular member of a Kafka group.
Handle
A handle for a librdkafka client instance. Also encapsulates a reference to the IClient instance that owns this handle.
Header
Represents a kafka message header.
Headers
A collection of Kafka message headers.
IAdminClientExtensions
Extension methods for default IAdminClient implementations.
IConsumerExtensions
Common extension methods for IConsumer<TKey, TValue> implementations.
Ignore
A type for use in conjunction with IgnoreDeserializer that enables message keys or values to be read as null, regardless of their value.
KafkaException
Represents an error that occured during an interaction with Kafka.
KafkaRetriableException
Represents an error where the operation that caused it may be retried.
KafkaTxnRequiresAbortException
Represents an error that caused the current transaction to fail and enter the abortable state.
Library
Methods that relate to the native librdkafka library itself (do not require a Producer or Consumer broker connection).
LogMessage
Encapsulates information provided to the Producer/Consumer OnLog event.
Loggers
OnLog callback event handler implementations.
MessageMetadata
All components of Message<TKey, TValue> except Key and Value.
MessageNullException
Thrown when there is an attempt to dereference a null Message reference.
Message<TKey, TValue>
Represents a (deserialized) Kafka message.
Metadata
Kafka cluster metadata.
Node
Node represents a Kafka broker.
Null
A type for use in conjunction with NullSerializer and NullDeserializer that enables null key or values to be enforced when producing or consuming messages.
PartitionMetadata
Metadata pertaining to a single Kafka topic partition.
ProduceException<TKey, TValue>
Represents an error that occured whilst producing a message.
ProducerBuilder<TKey, TValue>
A builder class for IProducer<TKey, TValue>.
ProducerConfig
Producer configuration properties
SerdeExtensions
EXPERIMENTAL: subject to change or removal.
Extension methods that interrogate a serializer or deserializer for optional capabilities - IClusterIdAware and ISerdeDisposable - without requiring it to implement them.
Every method here is safe to call on any serializer or deserializer, including the built-in ones and application-supplied delegates: an instance that does not implement the relevant interface reports no capability and is left untouched.
An instance wrapped with AsSyncOverAsync() is unwrapped first, so
the capabilities of the underlying async serializer or deserializer are
the ones that count.
Serializers
Serializers for use with Confluent.Kafka.Producer<TKey, TValue>.
TopicCollection
A class used to represent a collection of topics.
TopicMetadata
Metadata pertaining to a single Kafka topic.
TopicPartition
Represents a Kafka (topic, partition) tuple.
TopicPartitionError
Represents a Kafka (topic, partition, error) tuple.
TopicPartitionException
Represents an error that occured during a Consumer.Position request.
TopicPartitionInfo
TopicPartitionInfo represents the description of a partition within a topic. Used for result of DescribeTopics for an individual topic.
TopicPartitionOffset
Represents a Kafka (topic, partition, offset) tuple.
TopicPartitionOffsetError
Represents a Kafka (topic, partition, offset, error) tuple.
TopicPartitionOffsetException
Represents an error that occured during a Consumer.Position request.
TopicPartitionTimestamp
Represents a Kafka (topic, partition, timestamp) tuple.
Uuid
Represents a UUID
WatermarkOffsets
Represents the low and high watermark offsets of a Kafka topic/partition.
Structs
Offset
Represents a Kafka partition offset value.
Partition
Represents a Kafka partition.
SerializationContext
Context relevant to a serialization or deserialization operation.
Timestamp
Encapsulates a Kafka timestamp and its type.
Interfaces
IAdminClient
Defines an Apache Kafka admin client.
IAsyncDeserializerBuilder<T>
EXPERIMENTAL: subject to change or removal.
Defines a builder of IAsyncDeserializer<T> instances, for use with SetKeyDeserializerBuilder(IAsyncDeserializerBuilder<TKey>) and its value counterpart.
In contrast to supplying an already constructed deserializer, a builder is invoked by the consumer during construction, and is passed the consumer's own configuration along with whether the deserializer is being used for the message key or value.
IAsyncDeserializer<T>
A deserializer for use with Confluent.Kafka.Consumer<TKey, TValue>.
IAsyncSerializerBuilder<T>
EXPERIMENTAL: subject to change or removal.
Defines a builder of IAsyncSerializer<T> instances, for use with SetKeySerializerBuilder(IAsyncSerializerBuilder<TKey>) and its value counterpart.
In contrast to supplying an already constructed serializer, a builder is invoked by the producer during construction, and is passed the producer's own configuration along with whether the serializer is being used for the message key or value.
IAsyncSerializer<T>
Defines a serializer for use with Confluent.Kafka.Producer<TKey, TValue>.
IClient
Defines methods common to all client types.
Further operations common to all clients are provided as extension methods by ClientExtensions, such as ClusterId(IClient, TimeSpan) and OAuthBearerSetToken(IClient, string, long, string, IDictionary<string, string>).
IClusterIdAware
EXPERIMENTAL: subject to change or removal.
Implemented by serializers and deserializers that can make use of the id of the Kafka cluster the client is connected to.
A producer or consumer does not resolve the cluster id itself. During construction it hands each serializer or deserializer a resolver, via SetClusterIdResolver(Func<Task<string>>), which the serde invokes whenever it actually needs the id. Resolving the id requires the client to have reached a broker, which is not always possible during construction - an OAUTHBEARER token refresh callback, for instance, is only served from the poll loop - so deferring it keeps construction from blocking.
This interface is deliberately separate from ISerializer<T>
and friends: those are implemented by application code, so adding members
to them would be a breaking change. Use the SetClusterIdResolver
extension methods to hand a resolver to an arbitrary serializer or
deserializer.
IConsumerGroupMetadata
The consumer group metadata associated with a consumer.
IConsumer<TKey, TValue>
Defines a high-level Apache Kafka consumer (with key and value deserialization).
IDeserializerBuilder<T>
EXPERIMENTAL: subject to change or removal.
Defines a builder of IDeserializer<T> instances, for use with SetKeyDeserializerBuilder(IDeserializerBuilder<TKey>) and its value counterpart.
In contrast to supplying an already constructed deserializer, a builder is invoked by the consumer during construction, and is passed the consumer's own configuration along with whether the deserializer is being used for the message key or value.
IDeserializer<T>
Defines a deserializer for use with Confluent.Kafka.Consumer<TKey, TValue>.
IHeader
Defines a Kafka message header.
IProducer<TKey, TValue>
Defines a high-level Apache Kafka producer client that provides key and value serialization.
ISerdeDisposable
EXPERIMENTAL: subject to change or removal.
Implemented by serializers and deserializers that hold disposable resources they created themselves, and are therefore responsible for releasing.
A serializer or deserializer constructed by a producer or consumer from an ISerializerBuilder<T> (or one of its siblings) is owned by that client, and is released when the client is disposed. One that was constructed by the application and supplied directly remains owned by the application and is never released by the client.
This interface intentionally does not extend
IDisposable: doing so would cause analyzers to
require disposal at every construction site in application code, which is
misleading given that a serializer holding no resources of its own has
nothing to release. Use the DisposeOwnedResources extension methods
to release an arbitrary serializer or deserializer.
ISerializerBuilder<T>
EXPERIMENTAL: subject to change or removal.
Defines a builder of ISerializer<T> instances, for use with SetKeySerializerBuilder(ISerializerBuilder<TKey>) and its value counterpart.
In contrast to supplying an already constructed serializer, a builder is invoked by the producer during construction, and is passed the producer's own configuration along with whether the serializer is being used for the message key or value.
ISerializer<T>
Defines a serializer for use with Confluent.Kafka.Producer<TKey, TValue>.
Enums
Acks
Acks enum values
AutoOffsetReset
AutoOffsetReset enum values
BrokerAddressFamily
BrokerAddressFamily enum values
ClientDnsLookup
ClientDnsLookup enum values
CompressionType
CompressionType enum values
ConsumerGroupState
Enumerates the different consumer group states.
ConsumerGroupType
Enumerates the different consumer group types.
ElectionType
Enumerates the different types of Election types.
ErrorCode
Enumeration of local and broker generated error codes.
GroupProtocol
GroupProtocol enum values
IsolationLevel
IsolationLevel enum values
LogLevelType
Enumerates different log level enumerations.
MessageComponentType
Enumerates different parts of a Kafka message
MetadataRecoveryStrategy
MetadataRecoveryStrategy enum values
PartitionAssignmentStrategy
PartitionAssignmentStrategy enum values
Partitioner
Partitioner enum values
PersistenceStatus
Enumeration of possible message persistence states.
SaslMechanism
SaslMechanism enum values
SaslOauthbearerAssertionAlgorithm
SaslOauthbearerAssertionAlgorithm enum values
SaslOauthbearerGrantType
SaslOauthbearerGrantType enum values
SaslOauthbearerMetadataAuthenticationType
SaslOauthbearerMetadataAuthenticationType enum values
SaslOauthbearerMethod
SaslOauthbearerMethod enum values
SecurityProtocol
SecurityProtocol enum values
SslEndpointIdentificationAlgorithm
SslEndpointIdentificationAlgorithm enum values
SyslogLevel
Represents enumeration with levels coming from syslog(3)
TimestampType
Enumerates the different meanings of a message timestamp value.
Delegates
PartitionerDelegate
Calculate a partition number given a partitionCount
and serialized keyData. The topic
is also provided, but is typically not used.