feat(review 008 Unit 3a): in-tree ChannelRelay (ADR-051, ADR-042 amendment)
- src/channels/relay.rs: ChannelRelay::register_relay_openable — registers a from_call-imported marked spec on a consumer-leg channel-0 registry via the full open-op wrapper (translate hop = the ADR-049 establisher calling the producer leg with the forwarded payload; byte-forward hop = pump_bidi, awaited inline). The relay map dissolves (implicit per-channel mapping; ids are per-connection), the spoke reply's channel_id is stripped, the reply's other fields ride with_reply_fields (bound flows end-to-end), reason mapping per ADR-051 §3 (spoke code+message preserved; timeout → dial_failed). - Rejection postures (ADR-051 §6): unmarked and Pub-typed marked specs are loud assembly errors. - Gate tests (9): registration rejections, reason mapping, forwarded_for payload shape, the real-wire consumer → hub → spoke round trip (bound survives, data both directions, the hub never parses the data plane), spoke-failure teardown (ledger decremented, no spoke channel leak), and a channels/tty/sub standard-shape run pinning no regression. Verification: cargo test (658 passed), clippy --all-targets -D warnings, fmt --check, doc --no-deps — all clean.
This commit is contained in:
1 parent
91765446b7
commit
90c182039e
3 files changed
+1244
No files matched your search
@@ -27,6 +27,10 @@
|
||||
//! (ADR-041, amended by ADR-047 §7 — opener ledger).
|
||||
//! - [`pump`]: `pump_bidi` — the two-pump data-plane helper (alknet
|
||||
//! ADR-078, pinned upstream by ADR-050).
|
||||
//! - [`relay`]: `ChannelRelay` — the in-tree relay component (ADR-042
|
||||
//! as amended by ADR-051): translate hop + `pump_bidi` byte-forward
|
||||
//! hop for from_call-imported marked specs re-exposed on a hub's
|
||||
//! consumer-leg channel-0 registry.
|
||||
//! - [`client`]: `ChannelClient` — transport-agnostic
|
||||
//! `from_connection` (ADR-043).
|
||||
//! - [`self::env`]: `ChannelOperationEnv` extension trait (ADR-047 §4 —
|
||||
@@ -43,5 +47,6 @@ pub mod operations;
|
||||
pub mod policy;
|
||||
pub mod pump;
|
||||
pub mod reassembly;
|
||||
pub mod relay;
|
||||
pub mod source;
|
||||
pub mod wire;
|
||||
Reference in new issue
Block a user