Class AvroMessageSerializerBase
The base class for AvroMessageSerializer<TMessage>.
Inherited Members
Namespace: Silverback.Messaging.Serialization
Assembly: Silverback.Integration.Kafka.SchemaRegistry.dll
Syntax
public abstract class AvroMessageSerializerBase : IKafkaMessageSerializer, IMessageSerializer
Properties
| Improve this doc View sourceAvroSerializerConfig
Gets or sets the Avro serializer configuration.
Declaration
public AvroSerializerConfig AvroSerializerConfig { get; set; }
Property Value
Type | Description |
---|---|
AvroSerializerConfig |
RequireHeaders
Gets a value indicating whether headers are mandatory for this serializer implementation or configuration to work properly.
Declaration
public bool RequireHeaders { get; }
Property Value
Type | Description |
---|---|
bool |
SchemaRegistryConfig
Gets or sets the schema registry configuration.
Declaration
public SchemaRegistryConfig SchemaRegistryConfig { get; set; }
Property Value
Type | Description |
---|---|
SchemaRegistryConfig |
Methods
| Improve this doc View sourceDeserializeAsync(Stream?, MessageHeaderCollection, MessageSerializationContext)
Deserializes the byte array back into a message object.
Declaration
public abstract 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 |
DeserializeKey(byte[], IReadOnlyCollection<MessageHeader>, MessageSerializationContext)
Deserializes the byte array back into a key string.
Declaration
public abstract 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. |
SerializeAsync(object?, MessageHeaderCollection, MessageSerializationContext)
Serializes the specified message object into a byte array.
Declaration
public abstract 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. |
SerializeKey(string, IReadOnlyCollection<MessageHeader>, MessageSerializationContext)
Serializes the specified key string into a byte array.
Declaration
public abstract 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. |