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

fn new<I: IntoIterator<Item = Peer>>(
    elders: I,
    prefix: Prefix,
    pk_set: ReplicaPublicKeySet
) -> Self
[src]

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

fn from_elder_candidates(
    elder_candidates: ElderCandidates,
    pk_set: ReplicaPublicKeySet
) -> SectionAuthorityProvider
[src]

Creates a new SectionAuthorityProvider from ElderCandidates and public keyset.

fn elder_candidates(&self) -> ElderCandidates[src]

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

fn peers(&self) -> Box<dyn Iterator<Item = Peer>>[src]

Returns an iterator to the list of peers.

fn elder_count(&self) -> usize[src]

Returns the number of elders in the section.

fn contains_elder(&self, name: &XorName) -> bool[src]

Returns a map of name to socket_addr.

fn get_addr(&self, name: &XorName) -> Option<SocketAddr>[src]

Returns a socket_addr of an elder.

fn names(&self) -> BTreeSet<XorName>[src]

Returns the set of elder names.

fn elders(&self) -> BTreeMap<XorName, SocketAddr>[src]

Returns a map of name to socket_addr.

fn addresses(&self) -> Vec<SocketAddr>[src]

Returns the list of socket addresses.

fn prefix(&self) -> Prefix[src]

Returns its prefix.

fn section_key(&self) -> PublicKey[src]

Key of the section.

Implementations on Foreign Types

impl SectionAuthorityProviderUtils for SectionAuthorityProvider[src]

fn new<I>(elders: I, prefix: Prefix, pk_set: ReplicaPublicKeySet) -> Self where
    I: IntoIterator<Item = Peer>, 
[src]

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

fn from_elder_candidates(
    elder_candidates: ElderCandidates,
    pk_set: ReplicaPublicKeySet
) -> SectionAuthorityProvider
[src]

Creates a new SectionAuthorityProvider from ElderCandidates and public keyset.

fn elder_candidates(&self) -> ElderCandidates[src]

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

fn elder_count(&self) -> usize[src]

Returns the number of elders in the section.

fn contains_elder(&self, name: &XorName) -> bool[src]

Returns a map of name to socket_addr.

fn get_addr(&self, name: &XorName) -> Option<SocketAddr>[src]

Returns a socket_addr of an elder.

fn names(&self) -> BTreeSet<XorName>[src]

Returns the set of elder names.

fn elders(&self) -> BTreeMap<XorName, SocketAddr>[src]

Returns a map of name to socket_addr.

fn section_key(&self) -> PublicKey[src]

Key of the section.

fn peers(&self) -> Box<dyn Iterator<Item = Peer>>[src]

fn addresses(&self) -> Vec<SocketAddr>[src]

fn prefix(&self) -> Prefix[src]

Implementors