[][src]Struct poldercast::Nodes

pub struct Nodes { /* fields omitted */ }

Methods

impl Nodes[src]

pub fn new(cap: usize) -> Self[src]

pub fn entry(&mut self, public_id: Address) -> Entry[src]

pub fn available_nodes(&self) -> &HashSet<Address>[src]

pub fn all_available_nodes(&self) -> Vec<&Node>[src]

list all available nodes, these are nodes that are not quarantined and that are publicly reachable.

This operation is costly and should not be used often or it will slow down the other operation of the Nodes

pub fn all_quarantined_nodes(&self) -> Vec<&Node>[src]

list all quarantined nodes, these are nodes that are not in used in the p2p topology and but may become available or be removed soon.

This operation is costly and should not be used often or it will slow down the other operation of the Nodes

pub fn all_unreachable_nodes(&self) -> Vec<&Node>[src]

list all non publicly reachable nodes. These are nodes that are directly connected to our nodes and that are not gossiped about.

This operation is costly and should not be used often or it will slow down the other operation of the Nodes

pub fn unreachable_nodes(&self) -> &HashSet<Address>[src]

access nodes that are connected to us but not necessarily reachable

This can be nodes that are behind a firewall or a NAT and that can't do hole punching to allow other nodes to connect to them.

pub fn quarantined_nodes(&self) -> &HashSet<Address>[src]

pub fn node_count(&self) -> Count[src]

access a count of all nodes

Trait Implementations

impl Debug for Nodes[src]

Auto Trait Implementations

impl RefUnwindSafe for Nodes

impl Send for Nodes

impl Sync for Nodes

impl Unpin for Nodes

impl UnwindSafe for Nodes

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,