pub trait NodeStorage<Types>{
// Required methods
fn block_height<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn count_transactions_in_range<'life0, 'async_trait>(
&'life0 mut self,
range: impl 'async_trait + RangeBounds<usize> + Send,
namespace: Option<NamespaceId<Types>>,
) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn payload_size_in_range<'life0, 'async_trait>(
&'life0 mut self,
range: impl 'async_trait + RangeBounds<usize> + Send,
namespace: Option<NamespaceId<Types>>,
) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn vid_share<'life0, 'async_trait, ID>(
&'life0 mut self,
id: ID,
) -> Pin<Box<dyn Future<Output = QueryResult<VidShare>> + Send + 'async_trait>>
where ID: Into<BlockId<Types>> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn get_header_window<'life0, 'async_trait>(
&'life0 mut self,
start: impl 'async_trait + Into<WindowStart<Types>> + Send + Sync,
end: u64,
limit: usize,
) -> Pin<Box<dyn Future<Output = QueryResult<TimeWindowQueryData<Header<Types>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn latest_qc_chain<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = QueryResult<Option<[CertificatePair<Types>; 2]>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_cert2<'life0, 'async_trait>(
&'life0 mut self,
height: u64,
) -> Pin<Box<dyn Future<Output = QueryResult<Option<Certificate2<Types>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_earliest_cert2<'life0, 'async_trait>(
&'life0 mut self,
height: u64,
) -> Pin<Box<dyn Future<Output = QueryResult<Option<Certificate2<Types>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn sync_status_for_range<'life0, 'async_trait>(
&'life0 mut self,
from: usize,
to: usize,
) -> Pin<Box<dyn Future<Output = QueryResult<SyncStatusQueryData>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Required Methods§
fn block_height<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count_transactions_in_range<'life0, 'async_trait>(
&'life0 mut self,
range: impl 'async_trait + RangeBounds<usize> + Send,
namespace: Option<NamespaceId<Types>>,
) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn payload_size_in_range<'life0, 'async_trait>(
&'life0 mut self,
range: impl 'async_trait + RangeBounds<usize> + Send,
namespace: Option<NamespaceId<Types>>,
) -> Pin<Box<dyn Future<Output = QueryResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_header_window<'life0, 'async_trait>(
&'life0 mut self,
start: impl 'async_trait + Into<WindowStart<Types>> + Send + Sync,
end: u64,
limit: usize,
) -> Pin<Box<dyn Future<Output = QueryResult<TimeWindowQueryData<Header<Types>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn latest_qc_chain<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = QueryResult<Option<[CertificatePair<Types>; 2]>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_cert2<'life0, 'async_trait>(
&'life0 mut self,
height: u64,
) -> Pin<Box<dyn Future<Output = QueryResult<Option<Certificate2<Types>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn load_earliest_cert2<'life0, 'async_trait>(
&'life0 mut self,
height: u64,
) -> Pin<Box<dyn Future<Output = QueryResult<Option<Certificate2<Types>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_earliest_cert2<'life0, 'async_trait>(
&'life0 mut self,
height: u64,
) -> Pin<Box<dyn Future<Output = QueryResult<Option<Certificate2<Types>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Load the earliest cert2 whose finalized block height is at or above height.
“Earliest” means the cert2 with the smallest finalized block height that is still greater
than or equal to the requested height.
Sourcefn sync_status_for_range<'life0, 'async_trait>(
&'life0 mut self,
from: usize,
to: usize,
) -> Pin<Box<dyn Future<Output = QueryResult<SyncStatusQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sync_status_for_range<'life0, 'async_trait>(
&'life0 mut self,
from: usize,
to: usize,
) -> Pin<Box<dyn Future<Output = QueryResult<SyncStatusQueryData>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Search the given range of the database for missing objects.
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.