pub struct PeerState {
pub gate: PeerGate,
pub governor: PeerGovernor,
pub backoff: BackoffTable,
pub backpressure: BackpressureTracker,
}Expand description
Consolidated per-peer state.
Each sub-field retains its existing API; the consolidation is
purely organisational so FrameworkComponents carries one peer
field instead of four. Future work can merge the sub-fields
into a single per-peer entry table.
Fields§
§gate: PeerGateNamed concurrency limiter consulted by Limit.Acquire /
Limit.Release syscalls.
governor: PeerGovernorSingle source of truth for peer policy (blocklist / allowlist) + per-peer health tracking. Consulted by inbound
- outbound peer-health gates.
backoff: BackoffTablePer-peer exponential backoff schedule. Consulted by the
outbound governor at check_outbound time.
backpressure: BackpressureTrackerReceiver-side per-peer back-pressure state. Tracks notices emitted to each sender, the duplicate-suppression window, and the K-then-silent fallback. Consulted at Phase 1 of the engine poll cycle when ingress overload is detected.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PeerState
impl RefUnwindSafe for PeerState
impl Send for PeerState
impl Sync for PeerState
impl Unpin for PeerState
impl UnsafeUnpin for PeerState
impl UnwindSafe for PeerState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedComponent for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request