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
subjectstringformatstringcandidateDefinitionstringcompatibilitySchemaCompatibilityModecancellationTokenCancellationToken
Returns
GetAsync(string, int, CancellationToken)
Gets one exact subject version, or null.
ValueTask<MessageSchema?> GetAsync(string subject, int version, CancellationToken cancellationToken = default)
Parameters
subjectstringversionintcancellationTokenCancellationToken
Returns
GetLatestAsync(string, CancellationToken)
Gets the latest registered version, or null.
ValueTask<MessageSchema?> GetLatestAsync(string subject, CancellationToken cancellationToken = default)
Parameters
subjectstringcancellationTokenCancellationToken
Returns
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
subjectstringformatstringdefinitionstringcompatibilitySchemaCompatibilityModecancellationTokenCancellationToken