Skip to main content

Crate kimberlite_wire

Crate kimberlite_wire 

Source
Expand description

§kmb-wire: Binary wire protocol for Kimberlite

This crate defines the binary wire protocol used for client-server communication in Kimberlite.

§Frame Format

┌─────────┬─────────┬──────────┬──────────┬──────────────────┐
│ Magic   │ Version │ Length   │ Checksum │     Payload      │
│ (4 B)   │ (2 B)   │ (4 B)    │ (4 B)    │     (var)        │
└─────────┴─────────┴──────────┴──────────┴──────────────────┘
  • Magic: 0x56444220 (“VDB “)
  • Version: Protocol version (currently 1)
  • Length: Payload length in bytes (max 16 MiB)
  • Checksum: CRC32 of payload
  • Payload: Bincode-encoded message

§Message Types

Messages are either requests (client → server) or responses (server → client). Each request has a corresponding response type.

Structs§

AppendEventsRequest
Append events request.
AppendEventsResponse
Append events response.
CreateStreamRequest
Create stream request.
CreateStreamResponse
Create stream response.
ErrorResponse
Error response.
Frame
A complete frame with header and payload.
FrameHeader
Frame header containing metadata about the payload.
HandshakeRequest
Handshake request to establish connection.
HandshakeResponse
Handshake response.
QueryAtRequest
SQL query at specific position request.
QueryRequest
SQL query request.
QueryResponse
Query response.
ReadEventsRequest
Read events request.
ReadEventsResponse
Read events response.
Request
A client request to the server.
RequestId
Unique identifier for a request, used to match responses.
Response
A server response to a client request.
SyncRequest
Sync request.
SyncResponse
Sync response.

Enums§

ErrorCode
Error codes for wire protocol errors.
QueryParam
Query parameter value.
QueryValue
Query result value.
RequestPayload
Request payload variants.
ResponsePayload
Response payload variants.
WireError
Errors that can occur during wire protocol operations.

Constants§

FRAME_HEADER_SIZE
Frame header size in bytes (magic + version + length + checksum).
MAGIC
Protocol magic bytes: “VDB “ in big-endian.
MAX_PAYLOAD_SIZE
Maximum payload size (16 MiB).
PROTOCOL_VERSION
Current protocol version.

Type Aliases§

QueryAtResponse
Query at response (same as Query).
WireResult
Result type for wire protocol operations.