Skip to main content

corium_protocol/
lib.rs

1//! Wire protocol: gRPC service definitions (tonic/prost) plus the Corium
2//! composite value encoding carried in protobuf `bytes` fields
3//! (see `docs/design/protocol.md`).
4
5pub mod auth;
6pub mod authz;
7pub mod codec;
8#[cfg(feature = "oidc")]
9pub mod oidc;
10
11// The EDN schema/transaction boundary conversions live in the pure
12// `corium-forms` crate (so they compile on wasm, away from tonic/tokio).
13// Re-exported here for back-compatible paths (`corium_protocol::schemaform`,
14// `corium_protocol::txforms`).
15pub use corium_forms::{schemaform, txforms};
16
17/// Protocol version spoken by this crate.
18pub const PROTOCOL_VERSION: u32 = 2;
19
20/// Oldest protocol version accepted by this crate's servers.
21///
22/// Version 1 clients cannot request a transaction basis fence, but remain
23/// safe for operations that predate that optional field.
24pub const MIN_SUPPORTED_PROTOCOL_VERSION: u32 = 1;
25
26/// Generated protobuf/tonic bindings for `corium.v1`.
27#[allow(
28    missing_docs,
29    clippy::pedantic,
30    clippy::missing_errors_doc,
31    clippy::derive_partial_eq_without_eq
32)]
33pub mod pb {
34    tonic::include_proto!("corium.v1");
35}