pub struct ChangeBlockStorage<S> { /* private fields */ }Expand description
Store all Cid of blocks that have been newly created or removed.
Additionally set calls for blocks which already exists in next will be ignored.
Implementations§
Source§impl<S> ChangeBlockStorage<S>
impl<S> ChangeBlockStorage<S>
pub fn new(next: S) -> Self
pub fn set_record(&mut self, record: bool)
Sourcepub async fn drain(&self) -> impl Iterator<Item = BlockStorageChange> + use<S>
pub async fn drain(&self) -> impl Iterator<Item = BlockStorageChange> + use<S>
Drain all changes and return them as iterator.
Trait Implementations§
Source§impl<S> BlockStorage for ChangeBlockStorage<S>where
S: BlockStorage + 'static,
impl<S> BlockStorage for ChangeBlockStorage<S>where
S: BlockStorage + 'static,
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
cid: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Result<Block, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
cid: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Result<Block, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns a block from storage.
Source§fn set<'life0, 'async_trait>(
&'life0 self,
block: Block,
) -> Pin<Box<dyn Future<Output = Result<Cid, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set<'life0, 'async_trait>(
&'life0 self,
block: Block,
) -> Pin<Box<dyn Future<Output = Result<Cid, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Inserts a block into storage.
Source§fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
cid: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove<'life0, 'life1, 'async_trait>(
&'life0 self,
cid: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove a block.
Source§fn stat<'life0, 'life1, 'async_trait>(
&'life0 self,
cid: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Result<BlockStat, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stat<'life0, 'life1, 'async_trait>(
&'life0 self,
cid: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Result<BlockStat, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stat a block.
Source§fn max_block_size(&self) -> usize
fn max_block_size(&self) -> usize
Maximum accepted block size.
Source§impl<S> BlockStorageContentMapping for ChangeBlockStorage<S>where
S: BlockStorage + BlockStorageContentMapping + 'static,
impl<S> BlockStorageContentMapping for ChangeBlockStorage<S>where
S: BlockStorage + BlockStorageContentMapping + 'static,
Source§fn is_content_mapped<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn is_content_mapped<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Whether the mapping is active.
Source§fn to_plain<'life0, 'life1, 'async_trait>(
&'life0 self,
mapped: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Option<Cid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn to_plain<'life0, 'life1, 'async_trait>(
&'life0 self,
mapped: &'life1 Cid,
) -> Pin<Box<dyn Future<Output = Option<Cid>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl<S> BlockStorageStoreParams for ChangeBlockStorage<S>where
S: BlockStorageStoreParams,
impl<S> BlockStorageStoreParams for ChangeBlockStorage<S>where
S: BlockStorageStoreParams,
type StoreParams = <S as BlockStorageStoreParams>::StoreParams
Source§impl<S: Clone> Clone for ChangeBlockStorage<S>
impl<S: Clone> Clone for ChangeBlockStorage<S>
Source§fn clone(&self) -> ChangeBlockStorage<S>
fn clone(&self) -> ChangeBlockStorage<S>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<S> CloneWithBlockStorageSettings for ChangeBlockStorage<S>where
S: BlockStorage + CloneWithBlockStorageSettings + 'static,
impl<S> CloneWithBlockStorageSettings for ChangeBlockStorage<S>where
S: BlockStorage + CloneWithBlockStorageSettings + 'static,
fn clone_with_settings(&self, settings: BlockStorageCloneSettings) -> Self
fn without_networking(&self) -> Self
Source§impl<S: Debug> Debug for ChangeBlockStorage<S>
impl<S: Debug> Debug for ChangeBlockStorage<S>
Source§impl<S> ExtendedBlockStorage for ChangeBlockStorage<S>where
S: ExtendedBlockStorage + 'static,
impl<S> ExtendedBlockStorage for ChangeBlockStorage<S>where
S: ExtendedBlockStorage + 'static,
Source§fn set_extended<'life0, 'async_trait>(
&'life0 self,
block: ExtendedBlock,
) -> Pin<Box<dyn Future<Output = Result<Cid, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_extended<'life0, 'async_trait>(
&'life0 self,
block: ExtendedBlock,
) -> Pin<Box<dyn Future<Output = Result<Cid, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Inserts a block into storage.
Auto Trait Implementations§
impl<S> Freeze for ChangeBlockStorage<S>where
S: Freeze,
impl<S> RefUnwindSafe for ChangeBlockStorage<S>where
S: RefUnwindSafe,
impl<S> Send for ChangeBlockStorage<S>where
S: Send,
impl<S> Sync for ChangeBlockStorage<S>where
S: Sync,
impl<S> Unpin for ChangeBlockStorage<S>where
S: Unpin,
impl<S> UnsafeUnpin for ChangeBlockStorage<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for ChangeBlockStorage<S>where
S: UnwindSafe,
Blanket Implementations§
Source§impl<T> BlockStorageExt for Twhere
T: BlockStorage + ?Sized,
impl<T> BlockStorageExt for Twhere
T: BlockStorage + ?Sized,
Source§async fn get_value_or_default<T>(
&self,
link: &OptionLink<T>,
) -> Result<T, StorageError>
async fn get_value_or_default<T>( &self, link: &OptionLink<T>, ) -> Result<T, StorageError>
Get value or default from link.
Source§async fn get_value_or_none<T>(
&self,
link: &OptionLink<T>,
) -> Result<Option<T>, StorageError>
async fn get_value_or_none<T>( &self, link: &OptionLink<T>, ) -> Result<Option<T>, StorageError>
Get value or default from link.
Source§async fn set_value<T>(&self, value: &T) -> Result<Link<T>, StorageError>
async fn set_value<T>(&self, value: &T) -> Result<Link<T>, StorageError>
Create link for value.
Source§async fn get_deserialized<T>(&self, item: &Cid<64>) -> Result<T, StorageError>
async fn get_deserialized<T>(&self, item: &Cid<64>) -> Result<T, StorageError>
Get deserialized value.
Source§async fn set_serialized<T>(&self, value: &T) -> Result<Cid<64>, StorageError>
async fn set_serialized<T>(&self, value: &T) -> Result<Cid<64>, StorageError>
Set serialized value.
Source§async fn get_default<T>(
&self,
item: &Option<Cid<64>>,
) -> Result<T, StorageError>
async fn get_default<T>( &self, item: &Option<Cid<64>>, ) -> Result<T, StorageError>
Get deserialized value.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more