pub struct PeerGovernorSnapshot {
pub blocklist: Vec<Vec<u8>>,
pub allowlist: Option<Vec<Vec<u8>>>,
pub health: Vec<(Vec<u8>, u32, u64, bool)>,
pub failure_threshold: u32,
}Expand description
Serializable view of PeerGovernor.
Fields§
§blocklist: Vec<Vec<u8>>Blocklist entries, each PeerId::to_bytes().
allowlist: Option<Vec<Vec<u8>>>None ⇒ open policy. Some(vec) ⇒ only the listed peers
(PeerId::to_bytes()) may communicate.
health: Vec<(Vec<u8>, u32, u64, bool)>(PeerId::to_bytes(), consecutive_failures, last_event_ns, down) per peer.
failure_threshold: u32Failure threshold (consecutive failures to mark a peer down).
Trait Implementations§
Source§impl Clone for PeerGovernorSnapshot
impl Clone for PeerGovernorSnapshot
Source§fn clone(&self) -> PeerGovernorSnapshot
fn clone(&self) -> PeerGovernorSnapshot
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PeerGovernorSnapshot
impl Debug for PeerGovernorSnapshot
Source§impl Default for PeerGovernorSnapshot
impl Default for PeerGovernorSnapshot
Source§fn default() -> PeerGovernorSnapshot
fn default() -> PeerGovernorSnapshot
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PeerGovernorSnapshot
impl<'de> Deserialize<'de> for PeerGovernorSnapshot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PeerGovernorSnapshot
impl RefUnwindSafe for PeerGovernorSnapshot
impl Send for PeerGovernorSnapshot
impl Sync for PeerGovernorSnapshot
impl Unpin for PeerGovernorSnapshot
impl UnsafeUnpin for PeerGovernorSnapshot
impl UnwindSafe for PeerGovernorSnapshot
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
Wrap the input message
T in a tonic::RequestSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> SlotValue for T
impl<T> SlotValue for T
Source§fn into_any_boxed(self: Box<T>) -> Box<dyn Any + Sync + Send>
fn into_any_boxed(self: Box<T>) -> Box<dyn Any + Sync + Send>
Repackage
Box<dyn SlotValue> as Box<dyn Any> for
Box::downcast. Required because the SlotValue and
Any vtables are distinct even though SlotValue: Any.Source§fn clone_boxed(&self) -> Box<dyn SlotValue>
fn clone_boxed(&self) -> Box<dyn SlotValue>
Polymorphic clone preserving the concrete type.
Source§fn to_wire_bytes(&self) -> Result<Vec<u8>, SlotValueError>
fn to_wire_bytes(&self) -> Result<Vec<u8>, SlotValueError>
Wire-boundary encode (bincode + serde). Local forwarding
uses
clone_boxed instead.Source§fn type_hash(&self) -> u64
fn type_hash(&self) -> u64
Stable cross-Node type discriminator. FNV-1a of
std::any::type_name::<T>(); receiver decodes only on a
matching hash.Source§fn runtime_type(&self) -> &'static TypeNode
fn runtime_type(&self) -> &'static TypeNode
Source§fn charged_bytes(&self) -> usize
fn charged_bytes(&self) -> usize
Bytes the carrier owes against
NodeConfig::ingress_byte_budget. Slot-table eviction calls
this to release the charge. Default 0 — only
ingress-derived carriers register a non-zero resolver via
[register_charged_bytes!].