Skip to main content

crabka_schema_serde/
lib.rs

1//! Confluent-compatible schema serdes for Crabka clients.
2//!
3//! Frames payloads as `magic(0x00) | schema_id(4 BE) | body` (plus a Protobuf
4//! message-index), with schemas registered against and resolved from a
5//! Confluent-compatible Schema Registry. Client-agnostic: the typed serializers
6//! here are bridged into `crabka-client-streams` (and later other clients).
7
8pub mod cache;
9pub mod error;
10pub mod registry;
11pub mod subject;
12pub mod wire;
13
14pub mod format;
15
16pub use cache::{CacheConfig, RegisterMode, SchemaCache, default_registry, set_default_registry};
17pub use error::SchemaSerdeError;
18pub use registry::RegistryClient;
19pub use subject::{Role, SchemaKind, SubjectStrategy, TopicNameStrategy};
20
21#[cfg(feature = "avro")]
22pub use format::avro::AvroSerde;
23#[cfg(feature = "json")]
24pub use format::json::JsonSerde;
25#[cfg(feature = "protobuf")]
26pub use format::protobuf::ProtobufSerde;