pub struct JoinBlockStorage<S, R> { /* private fields */ }Expand description
Joins multiple block storages together.
Write operations will be always delegated to the first storage (which passed to new).
Read operations starts with the last up to the first.
Implementations§
Source§impl<S, R> JoinBlockStorage<S, R>where
S: BlockStorage + 'static,
R: ExtendedBlockStorage + 'static,
impl<S, R> JoinBlockStorage<S, R>where
S: BlockStorage + 'static,
R: ExtendedBlockStorage + 'static,
Trait Implementations§
Source§impl<S, R> BlockStorage for JoinBlockStorage<S, R>where
S: BlockStorage + 'static,
R: ExtendedBlockStorage,
impl<S, R> BlockStorage for JoinBlockStorage<S, R>where
S: BlockStorage + 'static,
R: ExtendedBlockStorage,
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, R> BlockStorageContentMapping for JoinBlockStorage<S, R>
impl<S, R> BlockStorageContentMapping for JoinBlockStorage<S, R>
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, R> BlockStorageStoreParams for JoinBlockStorage<S, R>
impl<S, R> BlockStorageStoreParams for JoinBlockStorage<S, R>
type StoreParams = <S as BlockStorageStoreParams>::StoreParams
Source§impl<S: Clone, R: Clone> Clone for JoinBlockStorage<S, R>
impl<S: Clone, R: Clone> Clone for JoinBlockStorage<S, R>
Source§fn clone(&self) -> JoinBlockStorage<S, R>
fn clone(&self) -> JoinBlockStorage<S, R>
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, R> CloneWithBlockStorageSettings for JoinBlockStorage<S, R>where
S: BlockStorage + CloneWithBlockStorageSettings + 'static,
R: ExtendedBlockStorage + Clone + 'static,
impl<S, R> CloneWithBlockStorageSettings for JoinBlockStorage<S, R>where
S: BlockStorage + CloneWithBlockStorageSettings + 'static,
R: ExtendedBlockStorage + Clone + 'static,
fn clone_with_settings(&self, settings: BlockStorageCloneSettings) -> Self
fn without_networking(&self) -> Self
Source§impl<S, R> ExtendedBlockStorage for JoinBlockStorage<S, R>where
S: ExtendedBlockStorage + 'static,
R: ExtendedBlockStorage + 'static,
impl<S, R> ExtendedBlockStorage for JoinBlockStorage<S, R>where
S: ExtendedBlockStorage + 'static,
R: 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, R> Freeze for JoinBlockStorage<S, R>
impl<S, R> RefUnwindSafe for JoinBlockStorage<S, R>where
S: RefUnwindSafe,
R: RefUnwindSafe,
impl<S, R> Send for JoinBlockStorage<S, R>
impl<S, R> Sync for JoinBlockStorage<S, R>
impl<S, R> Unpin for JoinBlockStorage<S, R>
impl<S, R> UnsafeUnpin for JoinBlockStorage<S, R>
impl<S, R> UnwindSafe for JoinBlockStorage<S, R>where
S: RefUnwindSafe,
R: RefUnwindSafe,
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