Expand description
Generated gRPC protobuf types for RedDB.
This crate exists so reddb-server and reddb-client can both
reference the same tonic-generated client + server stubs without
one depending on the other (which would create a cycle).
The .proto source lives in this crate’s proto/ directory.
Re-exports the entire reddb.v1 module produced by
tonic_prost_build at compile time.
Modules§
- ask_
stream_ event - Nested message and enum types in
AskStreamEvent. - binary_
value - Nested message and enum types in
BinaryValue. - query_
value - Nested message and enum types in
QueryValue. - red_
db_ client - Generated client implementations.
- red_
db_ server - Generated server implementations.
- topology_
schema - Canonical
Topologypayload — shared by both transports.
Structs§
- AskAnswer
Token - AskReply
- AskRequest
- AskSources
- AskStream
Error - AskStream
Event - Batch
Query Reply - Batch
Query Request - Binary
Bulk Insert Request - Binary bulk insert — zero JSON overhead. Each BinaryRow has typed values sent as protobuf native types (no string serialization/parsing).
- Binary
Row - Binary
Value - Bulk
Entity Reply - Bulk
Insert Reply - Citation
- Collection
Request - Collections
Reply - Delete
Entity Request - Deployment
Profile Request - Empty
- Entity
Reply - Execute
Prepared Request - Export
Request - Graph
Projection Upsert Request - Health
Reply - Index
Name Request - Index
Toggle Request - Json
Bulk Create Request - Json
Create Request - Json
Payload Request - KvWatch
Event - KvWatch
Request - Manifest
Request - Operation
Reply - Payload
Reply - Prepare
Query Reply - Prepare
Query Request - Query
Null - Query
Reply - Query
Request - Query
Value - Query
Vector - Scan
Entity - Scan
Reply - Scan
Request - Stats
Reply - Topology
- Canonical topology payload — the same shape both transports
carry. New optional fields go in here as
Option<…>/Vec<…>and ride the existing version tag; only a genuinely breaking change earns a new tag. - Topology
Endpoint - Topology
Replica - Topology
Reply - Topology
Request - Topology RPC (#166). The canonical, version-tagged byte string is
produced by the shared encoder in
reddb_wire::topologyand carried verbatim intopology_bytes. Schema evolution rule: new optional fields are added inside the version-tagged body, NOT as new protobuf fields, so the wire shape stays identical to the HelloAck-embedded form. See ADR 0008 §4. - Update
Entity Request - Validation
- Validation
Item
Enums§
- Topology
Error - Decode-side errors. Distinct from “unknown version tag”, which
is reported as
Ok(None)ondecode_topologyso the consumer can fall back to URI-only routing without branching on an error variant.
Constants§
- MAX_
KNOWN_ TOPOLOGY_ VERSION - Highest tag the current parser understands. A
Topologyblob stamped with anything else is ignored cleanly so an older client can keep its URI-only routing fallback. - TOPOLOGY_
HEADER_ SIZE - Header size (version tag + u32 body length).
- TOPOLOGY_
WIRE_ VERSION_ V1 - Wire version tag for the initial schema.
Functions§
- decode_
topology - Decode a topology blob.
- encode_
topology - Encode
topologyto the canonical version-tagged byte string. Same bytes consumed by both RedWire HelloAck (after base64 embedding in the JSON envelope) and the gRPCTopologyReply(carried directly as abytesfield).