pub trait RedundancyStrategy: Debug {
// Required methods
fn replicate_computation(
&self,
computation: &ExecutionRequest,
replication_factor: u32,
) -> Vec<ExecutionRequest>;
fn aggregate_results(
&self,
results: &[ComputationResult],
) -> Result<ComputationResult>;
fn detect_byzantine_faults(
&self,
results: &[ComputationResult],
) -> Vec<NodeId>;
}Expand description
Trait for redundancy strategies
Required Methods§
fn replicate_computation( &self, computation: &ExecutionRequest, replication_factor: u32, ) -> Vec<ExecutionRequest>
fn aggregate_results( &self, results: &[ComputationResult], ) -> Result<ComputationResult>
fn detect_byzantine_faults(&self, results: &[ComputationResult]) -> Vec<NodeId>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".