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 jsonrpc;
17pub mod legacy;
18pub mod query_with_params;
19pub mod redwire;
20pub mod replication;
21pub mod sanitizer;
22pub mod topology;
23
24pub use conn_string::{
25    is_embedded_connection_uri, parse, parse_with_limits, ConnStringLimits, ConnectionTarget,
26    ParseError, ParseErrorKind, DEFAULT_PORT_GRPC, DEFAULT_PORT_RED, DEFAULT_PORT_WS,
27    DEFAULT_PORT_WSS,
28};
29pub use redwire::{BuildError, FrameBuilder};
30pub use sanitizer::{
31    audit_safe_log_field, Boundary, ConnStringSanitizer, EscapeError, EscapedFor, ParsedConnString,
32    Tainted, TaintedRef, TaintedTarget,
33};
34pub use topology::{
35    decode_topology, encode_topology, Endpoint, ReplicaInfo, Topology, TopologyError,
36    MAX_KNOWN_TOPOLOGY_VERSION, TOPOLOGY_HEADER_SIZE, TOPOLOGY_WIRE_VERSION_V1,
37};