pub struct CloserNodes(/* private fields */);Expand description
A bounded list of the K closest NodeIds a responder returns in a
closer_nodes field (ADR 022 §Routing Table). Wraps Vec<NodeId> and
enforces the MAX_CLOSER_NODES invariant at construction — both
CloserNodes::try_new and the bounded Deserialize impl reject
oversize lists, so an over-cap closer_nodes cannot exist in memory or on
the wire. #[repr(transparent)] + #[serde(transparent)] keep the encoding
byte-identical to a bare Vec<NodeId>.
Implementations§
Source§impl CloserNodes
impl CloserNodes
Sourcepub fn try_new(nodes: Vec<NodeId>) -> Result<Self, CloserNodesError>
pub fn try_new(nodes: Vec<NodeId>) -> Result<Self, CloserNodesError>
Wrap nodes, rejecting lists longer than MAX_CLOSER_NODES.
§Errors
Returns CloserNodesError when nodes.len() > MAX_CLOSER_NODES.
Sourcepub fn into_inner(self) -> Vec<NodeId>
pub fn into_inner(self) -> Vec<NodeId>
Consume into the inner Vec<NodeId>.
Trait Implementations§
Source§impl Clone for CloserNodes
impl Clone for CloserNodes
Source§impl Debug for CloserNodes
impl Debug for CloserNodes
Source§impl Default for CloserNodes
impl Default for CloserNodes
Source§impl<'de> Deserialize<'de> for CloserNodes
impl<'de> Deserialize<'de> for CloserNodes
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
impl Eq for CloserNodes
Source§impl<'a> IntoIterator for &'a CloserNodes
impl<'a> IntoIterator for &'a CloserNodes
Source§impl PartialEq for CloserNodes
impl PartialEq for CloserNodes
Source§impl Serialize for CloserNodes
impl Serialize for CloserNodes
impl StructuralPartialEq for CloserNodes
Auto Trait Implementations§
impl Freeze for CloserNodes
impl RefUnwindSafe for CloserNodes
impl Send for CloserNodes
impl Sync for CloserNodes
impl Unpin for CloserNodes
impl UnsafeUnpin for CloserNodes
impl UnwindSafe for CloserNodes
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