pub trait Cluster {
    // Required methods
    fn get_node_pubkeys(&self) -> Vec<Pubkey>;
    fn get_validator_client(&self, pubkey: &Pubkey) -> Option<ThinClient>;
    fn get_contact_info(&self, pubkey: &Pubkey) -> Option<&ContactInfo>;
    fn exit_node(&mut self, pubkey: &Pubkey) -> ClusterValidatorInfo;
    fn restart_node(
        &mut self,
        pubkey: &Pubkey,
        cluster_validator_info: ClusterValidatorInfo,
        socket_addr_space: SocketAddrSpace
    );
    fn create_restart_context(
        &mut self,
        pubkey: &Pubkey,
        cluster_validator_info: &mut ClusterValidatorInfo
    ) -> (Node, Option<ContactInfo>);
    fn restart_node_with_context(
        cluster_validator_info: ClusterValidatorInfo,
        restart_context: (Node, Option<ContactInfo>),
        socket_addr_space: SocketAddrSpace
    ) -> ClusterValidatorInfo;
    fn add_node(
        &mut self,
        pubkey: &Pubkey,
        cluster_validator_info: ClusterValidatorInfo
    );
    fn exit_restart_node(
        &mut self,
        pubkey: &Pubkey,
        config: ValidatorConfig,
        socket_addr_space: SocketAddrSpace
    );
    fn set_entry_point(&mut self, entry_point_info: ContactInfo);
    fn send_shreds_to_validator(
        &self,
        dup_shreds: Vec<&Shred>,
        validator_key: &Pubkey
    );
}

Required Methods§

source

fn get_node_pubkeys(&self) -> Vec<Pubkey>

source

fn get_validator_client(&self, pubkey: &Pubkey) -> Option<ThinClient>

source

fn get_contact_info(&self, pubkey: &Pubkey) -> Option<&ContactInfo>

source

fn exit_node(&mut self, pubkey: &Pubkey) -> ClusterValidatorInfo

source

fn restart_node( &mut self, pubkey: &Pubkey, cluster_validator_info: ClusterValidatorInfo, socket_addr_space: SocketAddrSpace )

source

fn create_restart_context( &mut self, pubkey: &Pubkey, cluster_validator_info: &mut ClusterValidatorInfo ) -> (Node, Option<ContactInfo>)

source

fn restart_node_with_context( cluster_validator_info: ClusterValidatorInfo, restart_context: (Node, Option<ContactInfo>), socket_addr_space: SocketAddrSpace ) -> ClusterValidatorInfo

source

fn add_node( &mut self, pubkey: &Pubkey, cluster_validator_info: ClusterValidatorInfo )

source

fn exit_restart_node( &mut self, pubkey: &Pubkey, config: ValidatorConfig, socket_addr_space: SocketAddrSpace )

source

fn set_entry_point(&mut self, entry_point_info: ContactInfo)

source

fn send_shreds_to_validator( &self, dup_shreds: Vec<&Shred>, validator_key: &Pubkey )

Object Safety§

This trait is not object safe.

Implementors§