Module wire

Module wire 

Source
Expand description

2026-09-26: RDMA handshake wire codecs, used by the RDMA clients and re-exported by the storage peer daemons, so both ends share one codec.

Owner: metrale-gpu-sys. Invariants:

  • Every integer is little-endian.
  • The byte layouts are pinned by tests/wire_roundtrip.rs and tests/transcript_golden.rs, the constant values by frozen_wire_constants.
  • Only std::io and anyhow, with no cfg gate, so it builds without rdma-core.

Structs§

CacheServerParams
2026-09-26: The peer’s half of the read-write handshake (KV paging and SSM snapshots): its QP identity plus the base address and rkey of its RW MR.
VerbsClientParams
2026-09-26: The client’s half of the verbs handshake: its QP identity only.
VerbsServerParams
2026-09-26: The server’s half of the read-only verbs handshake (expert, weight and LoRA tiers): its QP identity plus one registered MR per MoE layer (expert tier) or per shard (weight and LoRA tiers). The expert tier reads at layers[layer].0 + expert * record_stride.

Constants§

MODE_TCP
2026-09-26: Transport byte for two-sided TCP record streaming from the expert peer.
MODE_VERBS
2026-09-26: Transport byte for one-sided RDMA READ: the server sends its MRs as VerbsServerParams and the client reads records from them.
STATUS_ERR
STATUS_OK

Traits§

RemoteQp
2026-09-26: A remote QP identity a client rail can connect to. Both server-param types implement it, so RailSet::complete serves both dialects.

Functions§

read_server_rails
2026-09-26: Read want rails of VerbsServerParams framed by a leading [u8 n_rails]. Fails when the framed count is 0, above 8, or not want.
write_server_rails
2026-09-26: Write [u8 n_rails] followed by each rail’s VerbsServerParams. Fails before writing anything when the count is 0 or above 8.