Class AvroMessageSerializer<TMessage>
Connects to the specified schema registry and serializes the messages in Apache Avro format.
Inherited Members
Namespace: Silverback.Messaging.Serialization
Assembly: Silverback.Integration.Kafka.SchemaRegistry.dll
Syntax
public class AvroMessageSerializer<TMessage> : AvroMessageSerializerBase, IKafkaMessageSerializer, IMessageSerializer where TMessage : classType Parameters
| Name | Description | 
|---|---|
| TMessage | The type of the messages to be serialized and/or deserialized. | 
Methods
| Improve this doc View sourceDeserializeAsync(Stream?, MessageHeaderCollection, MessageSerializationContext)
Deserializes the byte array back into a message object.
Declaration
public override ValueTask<(object? Message, Type MessageType)> DeserializeAsync(Stream? messageStream, MessageHeaderCollection messageHeaders, MessageSerializationContext context)Parameters
| Type | Name | Description | 
|---|---|---|
| Stream | messageStream | The Stream containing the message to be deserialized. | 
| MessageHeaderCollection | messageHeaders | The message headers collection. | 
| MessageSerializationContext | context | The context information. | 
Returns
| Type | Description | 
|---|---|
| ValueTask<(object Message, Type MessageType)> | A Task<TResult> representing the asynchronous operation. The task result contains the
deserialized message (or  | 
Overrides
| Improve this doc View sourceDeserializeKey(byte[], IReadOnlyCollection<MessageHeader>?, MessageSerializationContext)
Deserializes the byte array back into a key string.
Declaration
public override string DeserializeKey(byte[] key, IReadOnlyCollection<MessageHeader>? messageHeaders, MessageSerializationContext context)Parameters
| Type | Name | Description | 
|---|---|---|
| byte[] | key | The byte array to be deserialized. | 
| IReadOnlyCollection<MessageHeader> | messageHeaders | The message headers collection. | 
| MessageSerializationContext | context | The context information. | 
Returns
| Type | Description | 
|---|---|
| string | The deserialized key. | 
Overrides
| Improve this doc View sourceSerializeAsync(object?, MessageHeaderCollection, MessageSerializationContext)
Serializes the specified message object into a byte array.
Declaration
public override ValueTask<Stream?> SerializeAsync(object? message, MessageHeaderCollection messageHeaders, MessageSerializationContext context)Parameters
| Type | Name | Description | 
|---|---|---|
| object | message | The message object to be serialized. | 
| MessageHeaderCollection | messageHeaders | The message headers collection. | 
| MessageSerializationContext | context | The context information. | 
Returns
| Type | Description | 
|---|---|
| ValueTask<Stream> | A Task<TResult> representing the asynchronous operation. The task result contains the Stream with the serialized message. | 
Overrides
| Improve this doc View sourceSerializeKey(string, IReadOnlyCollection<MessageHeader>?, MessageSerializationContext)
Serializes the specified key string into a byte array.
Declaration
public override byte[] SerializeKey(string key, IReadOnlyCollection<MessageHeader>? messageHeaders, MessageSerializationContext context)Parameters
| Type | Name | Description | 
|---|---|---|
| string | key | The message key to be serialized. | 
| IReadOnlyCollection<MessageHeader> | messageHeaders | The message headers collection. | 
| MessageSerializationContext | context | The context information. | 
Returns
| Type | Description | 
|---|---|
| byte[] | The serialization result. |