Trait linera_core::node::ValidatorNodeProvider

source ·
pub trait ValidatorNodeProvider: 'static + Send + Sync {
    type Node: ValidatorNode + Send + Sync + Clone + 'static;

    // Required method
    fn make_node(&self, address: &str) -> Result<Self::Node, NodeError>;

    // Provided methods
    fn make_nodes(
        &self,
        committee: &Committee,
    ) -> Result<impl Iterator<Item = (ValidatorPublicKey, Self::Node)> + '_, NodeError> { ... }
    fn make_nodes_from_list<A>(
        &self,
        validators: impl IntoIterator<Item = (ValidatorPublicKey, A)>,
    ) -> Result<impl Iterator<Item = (ValidatorPublicKey, Self::Node)>, NodeError>
       where A: AsRef<str> { ... }
}
Expand description

Turn an address into a validator node.

Required Associated Types§

source

type Node: ValidatorNode + Send + Sync + Clone + 'static

Required Methods§

source

fn make_node(&self, address: &str) -> Result<Self::Node, NodeError>

Provided Methods§

source

fn make_nodes( &self, committee: &Committee, ) -> Result<impl Iterator<Item = (ValidatorPublicKey, Self::Node)> + '_, NodeError>

source

fn make_nodes_from_list<A>( &self, validators: impl IntoIterator<Item = (ValidatorPublicKey, A)>, ) -> Result<impl Iterator<Item = (ValidatorPublicKey, Self::Node)>, NodeError>
where A: AsRef<str>,

Object Safety§

This trait is not object safe.

Implementors§