pub enum SelectParams {
Random {
n: u32,
},
NearKey {
key: Vec<u8>,
n: u32,
},
All,
}Expand description
Parameters describing what peer set to select. Different
concrete selectors handle the variants they support and return
an error variant for the ones they don’t (e.g. GlobalRegistry
supports Random + All; DhtView supports NearKey).
Open enum - new variants are additive; concrete impls match the ones they handle + return an unsupported-params error for the rest.
Variants§
Random
Sample n peers uniformly at random from the current view.
NearKey
Sample up to n peers whose identifier is closest to key
under whatever metric the selector uses (Kademlia XOR, etc.).
All
Return every peer in the current view. Useful for tiny fixed-size deployments + tests.
Trait Implementations§
Source§impl Clone for SelectParams
impl Clone for SelectParams
Source§fn clone(&self) -> SelectParams
fn clone(&self) -> SelectParams
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 SelectParams
impl Debug for SelectParams
Source§impl<'de> Deserialize<'de> for SelectParams
impl<'de> Deserialize<'de> for SelectParams
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SelectParams, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SelectParams, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SelectParams
Source§impl Hash for SelectParams
impl Hash for SelectParams
Source§impl PartialEq for SelectParams
impl PartialEq for SelectParams
Source§fn eq(&self, other: &SelectParams) -> bool
fn eq(&self, other: &SelectParams) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for SelectParams
impl Serialize for SelectParams
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for SelectParams
Auto Trait Implementations§
impl Freeze for SelectParams
impl RefUnwindSafe for SelectParams
impl Send for SelectParams
impl Sync for SelectParams
impl Unpin for SelectParams
impl UnsafeUnpin for SelectParams
impl UnwindSafe for SelectParams
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> 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>
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!].