pub trait ConsensusStorage {
// Required methods
fn store_candidate(&mut self, cm: Block) -> Result<()>;
fn candidate(&self, hash: &[u8]) -> Result<Option<Block>>;
fn candidate_by_iteration(
&self,
ch: &ConsensusHeader,
) -> Result<Option<Block>>;
fn clear_candidates(&mut self) -> Result<()>;
fn delete_candidate<F>(&mut self, closure: F) -> Result<()>
where F: FnOnce(u64) -> bool + Copy;
fn count_candidates(&self) -> usize;
fn store_validation_result(
&mut self,
ch: &ConsensusHeader,
vr: &ValidationResult,
) -> Result<()>;
fn validation_result(
&self,
ch: &ConsensusHeader,
) -> Result<Option<ValidationResult>>;
fn clear_validation_results(&mut self) -> Result<()>;
fn delete_validation_results<F>(&mut self, closure: F) -> Result<()>
where F: FnOnce([u8; 32]) -> bool + Copy;
fn count_validation_results(&self) -> usize;
}Required Methods§
Sourcefn store_candidate(&mut self, cm: Block) -> Result<()>
fn store_candidate(&mut self, cm: Block) -> Result<()>
Candidate Storage
fn candidate(&self, hash: &[u8]) -> Result<Option<Block>>
Sourcefn candidate_by_iteration(&self, ch: &ConsensusHeader) -> Result<Option<Block>>
fn candidate_by_iteration(&self, ch: &ConsensusHeader) -> Result<Option<Block>>
Fetches a candidate block by lookup key (prev_block_hash, iteration).
fn clear_candidates(&mut self) -> Result<()>
fn delete_candidate<F>(&mut self, closure: F) -> Result<()>
fn count_candidates(&self) -> usize
Sourcefn store_validation_result(
&mut self,
ch: &ConsensusHeader,
vr: &ValidationResult,
) -> Result<()>
fn store_validation_result( &mut self, ch: &ConsensusHeader, vr: &ValidationResult, ) -> Result<()>
ValidationResult Storage
fn validation_result( &self, ch: &ConsensusHeader, ) -> Result<Option<ValidationResult>>
fn clear_validation_results(&mut self) -> Result<()>
fn delete_validation_results<F>(&mut self, closure: F) -> Result<()>
fn count_validation_results(&self) -> usize
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<'db, DB: DBAccess> ConsensusStorage for DBTransaction<'db, DB>
Implementation of the Candidate trait for DBTransaction<'db, DB>.