pub trait UpdateAvailabilityStorage<Types>: Sendwhere
Types: NodeType,{
// Required methods
fn insert_qc_chain(
&mut self,
height: u64,
qc_chain: Option<[CertificatePair<Types>; 2]>,
) -> impl Send + Future<Output = Result<()>>;
fn insert_leaf_range<'a>(
&mut self,
leaves: impl Send + IntoIterator<IntoIter: Send, Item = &'a LeafQueryData<Types>>,
) -> impl Send + Future<Output = Result<()>>;
fn insert_block_range<'a>(
&mut self,
blocks: impl Send + IntoIterator<IntoIter: Send, Item = &'a BlockQueryData<Types>>,
) -> impl Send + Future<Output = Result<()>>;
fn insert_vid_range<'a>(
&mut self,
vid: impl Send + IntoIterator<IntoIter: Send, Item = (&'a VidCommonQueryData<Types>, Option<&'a VidShare>)>,
) -> impl Send + Future<Output = Result<()>>;
// Provided methods
fn insert_leaf(
&mut self,
leaf: &LeafQueryData<Types>,
) -> impl Send + Future<Output = Result<()>> { ... }
fn insert_leaf_with_qc_chain(
&mut self,
leaf: &LeafQueryData<Types>,
qc_chain: Option<[CertificatePair<Types>; 2]>,
) -> impl Send + Future<Output = Result<()>> { ... }
fn insert_block(
&mut self,
block: &BlockQueryData<Types>,
) -> impl Send + Future<Output = Result<()>> { ... }
fn insert_vid<'a>(
&mut self,
common: &'a VidCommonQueryData<Types>,
share: Option<&'a VidShare>,
) -> impl Send + Future<Output = Result<()>> { ... }
}Required Methods§
fn insert_qc_chain( &mut self, height: u64, qc_chain: Option<[CertificatePair<Types>; 2]>, ) -> impl Send + Future<Output = Result<()>>
fn insert_leaf_range<'a>( &mut self, leaves: impl Send + IntoIterator<IntoIter: Send, Item = &'a LeafQueryData<Types>>, ) -> impl Send + Future<Output = Result<()>>
fn insert_block_range<'a>( &mut self, blocks: impl Send + IntoIterator<IntoIter: Send, Item = &'a BlockQueryData<Types>>, ) -> impl Send + Future<Output = Result<()>>
fn insert_vid_range<'a>( &mut self, vid: impl Send + IntoIterator<IntoIter: Send, Item = (&'a VidCommonQueryData<Types>, Option<&'a VidShare>)>, ) -> impl Send + Future<Output = Result<()>>
Provided Methods§
fn insert_leaf( &mut self, leaf: &LeafQueryData<Types>, ) -> impl Send + Future<Output = Result<()>>
fn insert_leaf_with_qc_chain( &mut self, leaf: &LeafQueryData<Types>, qc_chain: Option<[CertificatePair<Types>; 2]>, ) -> impl Send + Future<Output = Result<()>>
fn insert_block( &mut self, block: &BlockQueryData<Types>, ) -> impl Send + Future<Output = Result<()>>
fn insert_vid<'a>( &mut self, common: &'a VidCommonQueryData<Types>, share: Option<&'a VidShare>, ) -> impl Send + Future<Output = Result<()>>
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.