Table of Contents

Interface ISchemaRegistry

Namespace
AnyProtocol.Abstraction
Assembly
AnyProtocol.Abstraction.dll

Stores and validates versioned message schemas independently of a provider.

public interface ISchemaRegistry

Methods

CheckCompatibilityAsync(string, string, string, SchemaCompatibilityMode, CancellationToken)

Checks a candidate without changing registry state.

ValueTask<SchemaCompatibilityResult> CheckCompatibilityAsync(string subject, string format, string candidateDefinition, SchemaCompatibilityMode compatibility = SchemaCompatibilityMode.Backward, CancellationToken cancellationToken = default)

Parameters

subject string
format string
candidateDefinition string
compatibility SchemaCompatibilityMode
cancellationToken CancellationToken

Returns

ValueTask<SchemaCompatibilityResult>

GetAsync(string, int, CancellationToken)

Gets one exact subject version, or null.

ValueTask<MessageSchema?> GetAsync(string subject, int version, CancellationToken cancellationToken = default)

Parameters

subject string
version int
cancellationToken CancellationToken

Returns

ValueTask<MessageSchema>

GetLatestAsync(string, CancellationToken)

Gets the latest registered version, or null.

ValueTask<MessageSchema?> GetLatestAsync(string subject, CancellationToken cancellationToken = default)

Parameters

subject string
cancellationToken CancellationToken

Returns

ValueTask<MessageSchema>

RegisterAsync(string, string, string, SchemaCompatibilityMode, CancellationToken)

Registers a compatible version, returning the existing version for an identical definition.

ValueTask<MessageSchema> RegisterAsync(string subject, string format, string definition, SchemaCompatibilityMode compatibility = SchemaCompatibilityMode.Backward, CancellationToken cancellationToken = default)

Parameters

subject string
format string
definition string
compatibility SchemaCompatibilityMode
cancellationToken CancellationToken

Returns

ValueTask<MessageSchema>