DistributedCluster

Trait DistributedCluster 

Source
pub trait DistributedCluster: Send + Sync {
    // Required methods
    fn active_nodes(&self) -> BoxFuture<'_, Result<Vec<NodeId>>>;
    fn coordinator(&self) -> &NodeId;
    fn configuration(&self) -> &ClusterConfiguration;
    fn add_node(&mut self, node: NodeId) -> BoxFuture<'_, Result<()>>;
    fn remove_node(&mut self, node: NodeId) -> BoxFuture<'_, Result<()>>;
    fn rebalance_load(&mut self) -> BoxFuture<'_, Result<()>>;
    fn cluster_health(&self) -> BoxFuture<'_, Result<ClusterHealth>>;
    fn create_checkpoint(&self) -> BoxFuture<'_, Result<ClusterCheckpoint>>;
    fn restore_checkpoint(
        &mut self,
        checkpoint: ClusterCheckpoint,
    ) -> BoxFuture<'_, Result<()>>;
}
Expand description

Distributed cluster management interface

Required Methods§

Source

fn active_nodes(&self) -> BoxFuture<'_, Result<Vec<NodeId>>>

Get all active nodes in the cluster

Source

fn coordinator(&self) -> &NodeId

Get the cluster coordinator node

Source

fn configuration(&self) -> &ClusterConfiguration

Get cluster configuration

Source

fn add_node(&mut self, node: NodeId) -> BoxFuture<'_, Result<()>>

Add a new node to the cluster

Source

fn remove_node(&mut self, node: NodeId) -> BoxFuture<'_, Result<()>>

Remove a node from the cluster

Source

fn rebalance_load(&mut self) -> BoxFuture<'_, Result<()>>

Redistribute work across cluster nodes

Source

fn cluster_health(&self) -> BoxFuture<'_, Result<ClusterHealth>>

Get cluster health status

Source

fn create_checkpoint(&self) -> BoxFuture<'_, Result<ClusterCheckpoint>>

Create a checkpoint of cluster state

Source

fn restore_checkpoint( &mut self, checkpoint: ClusterCheckpoint, ) -> BoxFuture<'_, Result<()>>

Restore from a checkpoint

Implementors§