Skip to main content

Crate reddb_grpc_proto

Crate reddb_grpc_proto 

Source
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 Topology payload — shared by both transports.

Structs§

AskAnswerToken
AskReply
AskRequest
AskSources
AskStreamError
AskStreamEvent
BatchQueryReply
BatchQueryRequest
BinaryBulkInsertRequest
Binary bulk insert — zero JSON overhead. Each BinaryRow has typed values sent as protobuf native types (no string serialization/parsing).
BinaryRow
BinaryValue
BulkEntityReply
BulkInsertReply
Citation
CollectionRequest
CollectionsReply
DeleteEntityRequest
DeploymentProfileRequest
Empty
EntityReply
ExecutePreparedRequest
ExportRequest
GraphProjectionUpsertRequest
HealthReply
IndexNameRequest
IndexToggleRequest
JsonBulkCreateRequest
JsonCreateRequest
JsonPayloadRequest
KvWatchEvent
KvWatchRequest
ManifestRequest
OperationReply
PayloadReply
PrepareQueryReply
PrepareQueryRequest
QueryNull
QueryReply
QueryRequest
QueryValue
QueryVector
ScanEntity
ScanReply
ScanRequest
StatsReply
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.
TopologyEndpoint
TopologyReplica
TopologyReply
TopologyRequest
Topology RPC (#166). The canonical, version-tagged byte string is produced by the shared encoder in reddb_wire::topology and carried verbatim in topology_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.
UpdateEntityRequest
Validation
ValidationItem

Enums§

TopologyError
Decode-side errors. Distinct from “unknown version tag”, which is reported as Ok(None) on decode_topology so 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 Topology blob 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 topology to the canonical version-tagged byte string. Same bytes consumed by both RedWire HelloAck (after base64 embedding in the JSON envelope) and the gRPC TopologyReply (carried directly as a bytes field).