Skip to main content

Crate schemreg

Crate schemreg 

Source
Expand description

Standalone schema registry client library.

Provides Confluent Schema Registry, Apicurio Registry v3, and AWS Glue Schema Registry integration with:

  • Wire format encode/decode (Confluent 5-byte header, AWS Glue 18-byte header)
  • Subject name strategies
  • Pluggable async registry clients
  • In-memory caching with in-flight coalescing
  • Encoder and decoder adapters (Avro, JSON Schema, raw)

Re-exports§

pub use apicurio::ApicurioSchemaRegistry;
pub use apicurio::ApicurioSchemaRegistryBuilder;
pub use cache::CachedSchemaRegistry;
pub use cache::DEFAULT_MAX_CACHE_ENTRIES;
pub use cache::WarmCacheError;
pub use decoder::DecodedMessage;
pub use decoder::SchemaFormat;
pub use decoder::SchemaMetadata;
pub use decoder::WireFormatDecoder;
pub use error::Result;
pub use error::SchemaRegError;
pub use glue::DynGlueSchemaRegistryClient;
pub use glue::CachedGlueSchemaRegistry;
pub use glue::DEFAULT_MAX_GLUE_CACHE_ENTRIES;
pub use glue::GlueCompression;
pub use glue::GlueDataFormat;
pub use glue::GlueSchema;
pub use glue::GlueSchemaRegistryClient;
pub use glue::GlueSchemaVersionId;
pub use glue::WarmGlueCacheError;
pub use glue::decode_glue_wire_format;
pub use glue::decode_glue_wire_format_bytes;
pub use glue::encode_glue_wire_format;
pub use subject::SubjectNameStrategy;
pub use traits::AnySchemaCache;
pub use traits::DynSchemaRegistryClient;
pub use traits::SchemaDecoder;
pub use traits::SchemaEncoder;
pub use traits::SchemaRegistryClient;
pub use types::ArtifactId;
pub use types::CompatibilityLevel;
pub use types::EncodeTarget;
pub use types::Schema;
pub use types::SchemaId;
pub use types::SchemaReference;
pub use types::SchemaType;
pub use types::SchemaVersion;
pub use wire::DetectedWireFormat;
pub use wire::decode_protobuf_message_indexes;
pub use wire::decode_wire_format;
pub use wire::decode_wire_format_bytes;
pub use wire::detect_wire_format;
pub use wire::encode_protobuf_wire_format;
pub use wire::encode_wire_format;
pub use confluent::ConfluentSchemaEncoder;
pub use confluent::ConfluentSchemaEncoderBuilder;
pub use confluent::ConfluentSchemaRegistry;
pub use confluent::ConfluentSchemaRegistryBuilder;
pub use json::JsonSchemaDecoder;
pub use json::JsonSchemaEncoder;
pub use json::JsonSchemaEncoderBuilder;

Modules§

apicurio
Native Apicurio Registry v3 HTTP client.
avro
Avro serialization + Confluent wire-format framing in a single step.
cache
In-memory caching wrapper around any SchemaRegistryClient.
confluent
Confluent Schema Registry HTTP client.
decoder
Wire-format-agnostic schema decoder and helpers.
error
Error types for schemreg.
glue
AWS Glue Schema Registry wire format and client types.
json
JSON Schema serialisation + Confluent wire-format framing.
subject
Subject name strategies for schema registry lookups.
traits
Async trait interfaces for schema registry backends, caches, and codecs.
types
Core schema types shared across Confluent and Glue backends.
wire
Confluent and Glue wire format encode/decode and auto-detection.