Skip to main content

Crate rivven_protocol

Crate rivven_protocol 

Source
Expand description

Rivven Wire Protocol

This crate defines the wire protocol types shared between rivven-client and rivvend. It provides serialization/deserialization for all protocol messages.

§Protocol Stability

The enum variant order is significant for postcard serialization. Changes to variant order will break wire compatibility with existing clients/servers.

§Example

use rivven_protocol::{Request, Response};

// Serialize a request
let request = Request::Ping;
let bytes = request.to_bytes()?;

// Deserialize a response
let response = Response::from_bytes(&bytes)?;

Structs§

BrokerInfo
Broker/node information for metadata discovery
DeleteRecordsResult
Delete records result for a partition
MessageData
Serialized message data for transport
PartitionMetadata
Partition metadata for cluster discovery
QuotaAlteration
Quota alteration request
QuotaEntry
Quota entry in describe response
TopicConfigDescription
Topic configuration in describe response
TopicConfigEntry
Topic configuration entry for AlterTopicConfig
TopicConfigValue
Topic configuration value with metadata
TopicMetadata
Topic metadata for cluster discovery

Enums§

ProtocolError
Protocol error types
Request
Protocol request messages
Response
Protocol response messages

Constants§

MAX_MESSAGE_SIZE
Maximum message size (64 MiB)
PROTOCOL_VERSION
Protocol version for compatibility checking

Type Aliases§

Result
Result type for protocol operations