Trait sn_routing::SectionAuthorityProviderUtils[][src]

pub trait SectionAuthorityProviderUtils {
    fn new<I: IntoIterator<Item = Peer>>(
        elders: I,
        prefix: Prefix,
        pk_set: ReplicaPublicKeySet
    ) -> Self;
fn from_elder_candidates(
        elder_candidates: ElderCandidates,
        pk_set: ReplicaPublicKeySet
    ) -> SectionAuthorityProvider;
fn elder_candidates(&self) -> ElderCandidates;
fn peers(&self) -> Box<dyn Iterator<Item = Peer>>;
fn elder_count(&self) -> usize;
fn contains_elder(&self, name: &XorName) -> bool;
fn get_addr(&self, name: &XorName) -> Option<SocketAddr>;
fn names(&self) -> BTreeSet<XorName>;
fn elders(&self) -> BTreeMap<XorName, SocketAddr>;
fn addresses(&self) -> Vec<SocketAddr>;
fn prefix(&self) -> Prefix;
fn section_key(&self) -> PublicKey; }
Expand description

A new SectionAuthorityProvider is created whenever the elders change, due to an elder being added or removed, or the section splitting or merging.

Required methods

Creates a new SectionAuthorityProvider with the given members, prefix and public keyset.

Creates a new SectionAuthorityProvider from ElderCandidates and public keyset.

Returns ElderCandidates, which doesn’t have key related infos.

Returns an iterator to the list of peers.

Returns the number of elders in the section.

Returns a map of name to socket_addr.

Returns a socket_addr of an elder.

Returns the set of elder names.

Returns a map of name to socket_addr.

Returns the list of socket addresses.

Returns its prefix.

Key of the section.

Implementations on Foreign Types

Creates a new SectionAuthorityProvider with the given members, prefix and public keyset.

Creates a new SectionAuthorityProvider from ElderCandidates and public keyset.

Returns ElderCandidates, which doesn’t have key related infos.

Returns the number of elders in the section.

Returns a map of name to socket_addr.

Returns a socket_addr of an elder.

Returns the set of elder names.

Returns a map of name to socket_addr.

Key of the section.

Implementors