Skip to main content

Module framework

Module framework 

Source
Expand description

Framework primitives bundled into every RuntimeResourceRef. 9 framework primitives the engine bundles into the RuntimeResourceRef for every dispatch_atomic call per docs/ENGINE.md §10 + docs/internal/IMPLEMENTATION_PLAN.md //! lines 770-779.

ships real impls for Scheduler / PeerGate / RequestTracker + adds 3 new primitives (serialize_queue / hold_table / record_buffer). Other primitives stay minimal until

Re-exports§

pub use address_book::Address;
pub use address_book::AddressBook;
pub use address_book::AddressBookError;
pub use address_book::AddressError;
pub use address_book::Multiaddress;
pub use address_book::Protocol;
pub use backoff_table::BackoffTable;
pub use backpressure_notice::backoff_notice_type_hash;
pub use backpressure_notice::build_backoff_notice_envelope;
pub use backpressure_notice::BackoffCauseWire;
pub use backpressure_notice::BackoffNoticePayload;
pub use backpressure_notice::BACKPRESSURE_DOMAIN;
pub use backpressure_tracker::BackoffCause;
pub use backpressure_tracker::BackpressureEntry;
pub use backpressure_tracker::BackpressureTracker;
pub use backpressure_tracker::Decision as BackpressureDecision;
pub use backpressure_tracker::DEFAULT_HIGH_WATER_PCT;
pub use backpressure_tracker::DEFAULT_K_BEFORE_SILENT;
pub use backpressure_tracker::DEFAULT_MIN_NOTICE_INTERVAL_NS;
pub use event_source::EventSource;
pub use hold_table::HoldTable;
pub use inbound_dedup::InboundDedup;
pub use outbound_queue::OutboundQueue;
pub use peer_gate::PeerGate;
pub use peer_governor::BlockReason;
pub use peer_governor::Decision;
pub use peer_governor::LifecycleTransition;
pub use peer_governor::PeerGovernor;
pub use peer_governor::PeerHealth;
pub use peer_governor::DEFAULT_FAILURE_THRESHOLD;
pub use peer_state::PeerState;
pub use record_buffer::RecordBuffer;
pub use request_tracker::RequestTracker;
pub use rng::CounterRng;
pub use rng::GetrandomU64;
pub use rng::RngU64Source;
pub use scheduler::Scheduler;
pub use scheduler::TimerKind;
pub use serialize_queue::SerializeQueue;

Modules§

address_book
AddressBook - global PeerId → (Vec<Address>, ref_count) registry per ENGINE.md §10.5 + docs/ADDRESSING.md.
backoff_table
BackoffTable - per-peer exponential backoff state used by wire syscalls + transport adapters per ENGINE.md §10.2.
backpressure_notice
BackoffNoticePayload - typed wire payload for the backpressure protocol per docs/internal/superpowers/specs/2026-06-23-backpressure-runtime.md §2.
backpressure_tracker
BackpressureTracker - per-peer receiver-side state for the typed-overload-signal protocol per docs/internal/superpowers/specs/2026-06-23-backpressure-runtime.md.
event_source
EventSource - registered event_kind → ComponentTag subscription table consulted by the engine’s Phase 3 bus event routing per ENGINE.md §10.7.
hold_table
HoldTable - slot-named value buffer for Hold.Stash / Hold.Flush syscalls.
inbound_dedup
InboundDedup - sliding-window seen-message tracker per ENGINE.md §10.4.
outbound_queue
OutboundQueue - FIFO of wire envelopes ready to ship.
peer_gate
PeerGate - per-name concurrency limiter used by Limit.Acquire / Limit.Release syscalls.
peer_governor
PeerGovernor - the single source of truth for peer policy and health tracking per .
peer_state
PeerState — the framework’s consolidated per-peer state.
record_buffer
RecordBuffer - bounded per-name ring buffer used by the Record syscall.
request_tracker
RequestTracker - mint correlation tokens for CorrelateTag and track in-flight wire requests.
rng
RngU64Source - pluggable u64 RNG used by the RngU64 syscall op. Default impl wraps getrandom.
rtt_tracker
for adaptive deadlines on every wire round-trip.
scheduler
Scheduler - sorted timer heap.
serialize_queue
SerializeQueue - named-FIFO map for Serialize.Enqueue / Serialize.Dequeue syscalls.

Structs§

FrameworkComponents
docs/ENGINE.md §3 bundle of framework primitives. Split-borrowed into each dispatch_atomic call’s RuntimeResourceRef.
InboundContext
Per-ExecId context captured at inbound envelope delivery. Replaces the four parallel envelope_* HashMaps with one struct of optional fields. Components access this through RuntimeResourceRef::inbound.