Skip to main content

Module protocol

Module protocol 

Source
Expand description

Wave-protocol data types — the decision-locked, language-neutral core.

These types are pinned by the spec and the D# log, so they are concrete Rust representations of the current protocol surface. Representation is per-language (D11: in-process tuple vs wire protobuf are decoupled); the semantics below match ~/src/graphrefly/spec/rules.jsonl.

Structs§

Handle
A pool-relative pool callback handle — pure data, no methods (D7).
LockId
Caller-chosen opaque pause-lock identifier (D10).
PullDemand
Explicit pull demand payload (D269/D272).

Enums§

Message
One protocol message. A Vec<Message<T>> (Wave) is one wave (D8) and may mix tiers. The closed set is 11 kinds (D9 + D269 + the Start handshake); adding a kind is a constitutional change (/spec-amend).
Tier
The 7-tier const table (D34, amends R-tier numbering).

Type Aliases§

AnyValue
The erased in-process value type — the Rust analogue of TS’s unknown (value representation decision, per-language impl, see CLEAN-SLATE.md).
GraphError
The cross-language “top” error type — error is unknown (D31).
Wave
One wave — a single msgs array, may mix tiers (D8).