confluent-kafka-dotnet
Show / Hide Table of Contents

Class AsyncSerde<TParsedSchema>

Inheritance
object
AsyncSerde<TParsedSchema>
AsyncDeserializer<T, TParsedSchema>
AsyncSerializer<T, TParsedSchema>
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Confluent.SchemaRegistry
Assembly: Confluent.SchemaRegistry.dll
Syntax
public abstract class AsyncSerde<TParsedSchema>
Type Parameters
Name Description
TParsedSchema

Constructors

AsyncSerde(ISchemaRegistryClient, SerdeConfig, RuleRegistry)

Declaration
protected AsyncSerde(ISchemaRegistryClient schemaRegistryClient, SerdeConfig config, RuleRegistry ruleRegistry = null)
Parameters
Type Name Description
ISchemaRegistryClient schemaRegistryClient
SerdeConfig config
RuleRegistry ruleRegistry

Fields

latestCompatibilityStrict

Declaration
protected bool latestCompatibilityStrict
Field Value
Type Description
bool

ruleRegistry

Declaration
protected RuleRegistry ruleRegistry
Field Value
Type Description
RuleRegistry

schemaRegistryClient

Declaration
protected ISchemaRegistryClient schemaRegistryClient
Field Value
Type Description
ISchemaRegistryClient

serdeMutex

Declaration
protected SemaphoreSlim serdeMutex
Field Value
Type Description
SemaphoreSlim

subjectNameStrategy

Declaration
protected SubjectNameStrategyDelegate subjectNameStrategy
Field Value
Type Description
SubjectNameStrategyDelegate

useLatestVersion

Declaration
protected bool useLatestVersion
Field Value
Type Description
bool

useLatestWithMetadata

Declaration
protected IDictionary<string, string> useLatestWithMetadata
Field Value
Type Description
IDictionary<string, string>

useSchemaId

Declaration
protected int useSchemaId
Field Value
Type Description
int

Methods

ExecuteMigrations(IList<Migration>, bool, string, string, Headers, object)

Declaration
protected Task<object> ExecuteMigrations(IList<Migration> migrations, bool isKey, string subject, string topic, Headers headers, object message)
Parameters
Type Name Description
IList<Migration> migrations
bool isKey
string subject
string topic
Headers headers
object message
Returns
Type Description
Task<object>

ExecuteRules(bool, string, string, Headers, RuleMode, Schema, Schema, object, FieldTransformer)

Execute rules

Declaration
protected Task<object> ExecuteRules(bool isKey, string subject, string topic, Headers headers, RuleMode ruleMode, Schema source, Schema target, object message, FieldTransformer fieldTransformer)
Parameters
Type Name Description
bool isKey
string subject
string topic
Headers headers
RuleMode ruleMode
Schema source
Schema target
object message
FieldTransformer fieldTransformer
Returns
Type Description
Task<object>
Exceptions
Type Condition
RuleConditionException
ArgumentException

GetMigrations(string, Schema, RegisteredSchema)

Declaration
protected Task<IList<Migration>> GetMigrations(string subject, Schema writer, RegisteredSchema readerSchema)
Parameters
Type Name Description
string subject
Schema writer
RegisteredSchema readerSchema
Returns
Type Description
Task<IList<Migration>>

GetParsedSchema(Schema)

Declaration
protected Task<TParsedSchema> GetParsedSchema(Schema schema)
Parameters
Type Name Description
Schema schema
Returns
Type Description
Task<TParsedSchema>

GetReaderSchema(string, Schema)

Declaration
protected Task<RegisteredSchema> GetReaderSchema(string subject, Schema schema = null)
Parameters
Type Name Description
string subject
Schema schema
Returns
Type Description
Task<RegisteredSchema>

GetSubjectName(string, bool, string)

Declaration
protected string GetSubjectName(string topic, bool isKey, string recordType)
Parameters
Type Name Description
string topic
bool isKey
string recordType
Returns
Type Description
string

GetWriterSchema(string, SchemaId, string)

Declaration
protected Task<(Schema, TParsedSchema)> GetWriterSchema(string subject, SchemaId writerId, string format = null)
Parameters
Type Name Description
string subject
SchemaId writerId
string format
Returns
Type Description
Task<(Schema, TParsedSchema)>

IgnoreReference(string)

Declaration
protected virtual bool IgnoreReference(string name)
Parameters
Type Name Description
string name
Returns
Type Description
bool

ParseSchema(Schema)

Declaration
protected abstract Task<TParsedSchema> ParseSchema(Schema schema)
Parameters
Type Name Description
Schema schema
Returns
Type Description
Task<TParsedSchema>

ResolveReferences(Schema)

Declaration
protected Task<IDictionary<string, string>> ResolveReferences(Schema schema)
Parameters
Type Name Description
Schema schema
Returns
Type Description
Task<IDictionary<string, string>>
In this article