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 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,
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.