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//! It owns the shared connection-string parser, audit-safe sanitizers,
9//! RedWire frame layout and codec, handshake payloads, topology payloads,
10//! query parameter encoding, queue/stream payloads, and replication wire
11//! messages. Listener loops, authentication policy, SQL dispatch, and
12//! runtime integration stay in `reddb-server`.
13
14pub mod auth;
15pub mod conn_string;
16pub mod legacy;
17pub mod query_with_params;
18pub mod redwire;
19pub mod replication;
20pub mod sanitizer;
21pub mod topology;
22
23pub use conn_string::{
24    is_embedded_connection_uri, parse, parse_with_limits, ConnStringLimits, ConnectionTarget,
25    ParseError, ParseErrorKind,
26};
27pub use redwire::{BuildError, FrameBuilder};
28pub use sanitizer::{
29    audit_safe_log_field, Boundary, ConnStringSanitizer, EscapeError, EscapedFor, ParsedConnString,
30    Tainted, TaintedRef, TaintedTarget,
31};
32pub use topology::{
33    decode_topology, encode_topology, Endpoint, ReplicaInfo, Topology, TopologyError,
34    MAX_KNOWN_TOPOLOGY_VERSION, TOPOLOGY_HEADER_SIZE, TOPOLOGY_WIRE_VERSION_V1,
35};