Skip to main content

reddb_wire/
lib.rs

1//! RedDB wire protocol vocabulary.
2//!
3//! This crate is the shared, transport-agnostic layer that
4//! `reddb-server`, `reddb-client`, and the official language
5//! drivers depend on. It deliberately has no dependency on the
6//! engine, storage, or runtime modules.
7//!
8//! Today it exposes the [`conn_string`] connection-string parser.
9//! Future slices will add the RedWire frame layout, header types,
10//! and framing codec (see ADR 0001 in `docs/adr/`).
11
12pub mod conn_string;
13pub mod redwire;
14pub mod sanitizer;
15pub mod topology;
16
17pub use conn_string::{
18    parse, parse_with_limits, ConnStringLimits, ConnectionTarget, ParseError, ParseErrorKind,
19};
20pub use redwire::{BuildError, FrameBuilder};
21pub use sanitizer::{
22    audit_safe_log_field, Boundary, ConnStringSanitizer, EscapeError, EscapedFor, ParsedConnString,
23    Tainted, TaintedRef, TaintedTarget,
24};
25pub use topology::{
26    decode_topology, encode_topology, Endpoint, ReplicaInfo, Topology, TopologyError,
27    MAX_KNOWN_TOPOLOGY_VERSION, TOPOLOGY_HEADER_SIZE, TOPOLOGY_WIRE_VERSION_V1,
28};