Table of Contents

Namespace AvroSharp.KafkaFlow

The AvroSharp.KafkaFlow package: KafkaFlow serializer middleware for Confluent Schema Registry on AvroSharp.Confluent, without Apache.Avro.

The KafkaFlow guide shows how to move from KafkaFlow's Confluent Avro serializer.

Classes

AvroSharpKafkaFlowDeserializer

KafkaFlow's KafkaFlow.IDeserializer on AvroSharpDeserializer<T>: reads each message as the type KafkaFlow's type resolver picked, from the writer's schema (fetched by the message's schema ID) resolved to the type's, with one deserializer per type.

AvroSharpKafkaFlowExtensions

Adds AvroSharp's Confluent Schema Registry serializer and deserializers to KafkaFlow producers and consumers, in place of KafkaFlow's AddSchemaRegistryAvroSerializer and AddSchemaRegistryAvroDeserializer. The registry is the one set with KafkaFlow's WithSchemaRegistry on the cluster.

AvroSharpKafkaFlowSerializer

KafkaFlow's KafkaFlow.ISerializer on AvroSharpSerializer<T>: writes each message, of any type AvroTypes knows, in Confluent Schema Registry framing, with one serializer per type. The bytes are those of KafkaFlow's Confluent Avro serializer for the same schema and value.

AvroSharpMessageTypeResolver

Picks the type a consumed message is read as from its writer's schema: the schema ID in the message, the schema from the registry (once per ID), and the type of that record's full name. That way one topic can carry several record types, as with the TopicRecord subject name strategy, or a top-level union of records under one subject, where the message's union branch names the record.