pub struct RemoteProllyStore<B> { /* private fields */ }Expand description
Generic adapter over a remote backend.
Implementations§
Source§impl<B> RemoteProllyStore<B>
impl<B> RemoteProllyStore<B>
Sourcepub fn new(backend: B) -> RemoteProllyStore<B>
pub fn new(backend: B) -> RemoteProllyStore<B>
Create an adapter with default configuration.
Sourcepub fn with_config(
backend: B,
config: RemoteStoreConfig,
) -> RemoteProllyStore<B>
pub fn with_config( backend: B, config: RemoteStoreConfig, ) -> RemoteProllyStore<B>
Create an adapter with explicit configuration.
Sourcepub fn into_backend(self) -> B
pub fn into_backend(self) -> B
Consume the adapter and return the backend.
Trait Implementations§
Source§impl<B> AsyncManifestStore for RemoteProllyStore<B>where
B: RemoteStoreBackend,
impl<B> AsyncManifestStore for RemoteProllyStore<B>where
B: RemoteStoreBackend,
Source§type Error = RemoteAdapterError<<B as RemoteStoreBackend>::Error>
type Error = RemoteAdapterError<<B as RemoteStoreBackend>::Error>
Error type for manifest operations.
Source§async fn get_root(
&self,
name: &[u8],
) -> Result<Option<RootManifest>, <RemoteProllyStore<B> as AsyncManifestStore>::Error>
async fn get_root( &self, name: &[u8], ) -> Result<Option<RootManifest>, <RemoteProllyStore<B> as AsyncManifestStore>::Error>
Load a named root manifest.
Source§async fn put_root(
&self,
name: &[u8],
manifest: &RootManifest,
) -> Result<(), <RemoteProllyStore<B> as AsyncManifestStore>::Error>
async fn put_root( &self, name: &[u8], manifest: &RootManifest, ) -> Result<(), <RemoteProllyStore<B> as AsyncManifestStore>::Error>
Unconditionally insert or replace a named root manifest.
Source§async fn delete_root(
&self,
name: &[u8],
) -> Result<(), <RemoteProllyStore<B> as AsyncManifestStore>::Error>
async fn delete_root( &self, name: &[u8], ) -> Result<(), <RemoteProllyStore<B> as AsyncManifestStore>::Error>
Delete a named root manifest. Deleting a missing name is not an error.
Source§async fn compare_and_swap_root(
&self,
name: &[u8],
expected: Option<&RootManifest>,
new: Option<&RootManifest>,
) -> Result<ManifestUpdate, <RemoteProllyStore<B> as AsyncManifestStore>::Error>
async fn compare_and_swap_root( &self, name: &[u8], expected: Option<&RootManifest>, new: Option<&RootManifest>, ) -> Result<ManifestUpdate, <RemoteProllyStore<B> as AsyncManifestStore>::Error>
Atomically update a named root if the current manifest matches
expected. Read moreSource§impl<B> AsyncManifestStoreScan for RemoteProllyStore<B>where
B: RemoteStoreBackend,
impl<B> AsyncManifestStoreScan for RemoteProllyStore<B>where
B: RemoteStoreBackend,
Source§async fn list_roots(
&self,
) -> Result<Vec<NamedRootManifest>, <RemoteProllyStore<B> as AsyncManifestStore>::Error>
async fn list_roots( &self, ) -> Result<Vec<NamedRootManifest>, <RemoteProllyStore<B> as AsyncManifestStore>::Error>
List all durable named root manifests.
Source§impl<B> AsyncStore for RemoteProllyStore<B>where
B: RemoteStoreBackend,
impl<B> AsyncStore for RemoteProllyStore<B>where
B: RemoteStoreBackend,
Source§type Error = RemoteAdapterError<<B as RemoteStoreBackend>::Error>
type Error = RemoteAdapterError<<B as RemoteStoreBackend>::Error>
Error type for storage operations.
Source§async fn get(
&self,
key: &[u8],
) -> Result<Option<Vec<u8>>, <RemoteProllyStore<B> as AsyncStore>::Error>
async fn get( &self, key: &[u8], ) -> Result<Option<Vec<u8>>, <RemoteProllyStore<B> as AsyncStore>::Error>
Get value by key.
Source§async fn put(
&self,
key: &[u8],
value: &[u8],
) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
async fn put( &self, key: &[u8], value: &[u8], ) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
Store key-value pair.
Source§async fn delete(
&self,
key: &[u8],
) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
async fn delete( &self, key: &[u8], ) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
Delete key.
Source§async fn batch(
&self,
ops: &[BatchOp<'_>],
) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
async fn batch( &self, ops: &[BatchOp<'_>], ) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
Batch write operations.
Source§async fn batch_get_ordered(
&self,
keys: &[&[u8]],
) -> Result<Vec<Option<Vec<u8>>>, <RemoteProllyStore<B> as AsyncStore>::Error>
async fn batch_get_ordered( &self, keys: &[&[u8]], ) -> Result<Vec<Option<Vec<u8>>>, <RemoteProllyStore<B> as AsyncStore>::Error>
Retrieve multiple keys while preserving request order. Read more
Source§async fn batch_get_ordered_unique(
&self,
keys: &[&[u8]],
) -> Result<Vec<Option<Vec<u8>>>, <RemoteProllyStore<B> as AsyncStore>::Error>
async fn batch_get_ordered_unique( &self, keys: &[&[u8]], ) -> Result<Vec<Option<Vec<u8>>>, <RemoteProllyStore<B> as AsyncStore>::Error>
Retrieve unique keys in request order. Read more
Source§fn prefers_batch_reads(&self) -> bool
fn prefers_batch_reads(&self) -> bool
Whether this store has an efficient native batched-read implementation.
Source§fn read_parallelism(&self) -> usize
fn read_parallelism(&self) -> usize
Maximum in-flight point reads for default ordered batch reads. Read more
Source§async fn batch_put(
&self,
entries: &[(&[u8], &[u8])],
) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
async fn batch_put( &self, entries: &[(&[u8], &[u8])], ) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
Store multiple key-value pairs.
Source§fn supports_hints(&self) -> bool
fn supports_hints(&self) -> bool
Whether this store persists performance hints.
Source§fn prefers_rightmost_path_hints(&self) -> bool
fn prefers_rightmost_path_hints(&self) -> bool
Whether append-heavy writes should maintain the engine’s rightmost-path hint. Read more
Source§async fn get_hint(
&self,
namespace: &[u8],
key: &[u8],
) -> Result<Option<Vec<u8>>, <RemoteProllyStore<B> as AsyncStore>::Error>
async fn get_hint( &self, namespace: &[u8], key: &[u8], ) -> Result<Option<Vec<u8>>, <RemoteProllyStore<B> as AsyncStore>::Error>
Retrieve an optional performance hint.
Source§async fn put_hint(
&self,
namespace: &[u8],
key: &[u8],
value: &[u8],
) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
async fn put_hint( &self, namespace: &[u8], key: &[u8], value: &[u8], ) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
Persist an optional performance hint.
Source§async fn batch_put_with_hint(
&self,
entries: &[(&[u8], &[u8])],
namespace: &[u8],
key: &[u8],
value: &[u8],
) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
async fn batch_put_with_hint( &self, entries: &[(&[u8], &[u8])], namespace: &[u8], key: &[u8], value: &[u8], ) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
Store content-addressed nodes and one hint atomically when supported.
Source§async fn publish_nodes(
&self,
publication: NodePublication<'_>,
) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
async fn publish_nodes( &self, publication: NodePublication<'_>, ) -> Result<(), <RemoteProllyStore<B> as AsyncStore>::Error>
Publish canonical immutable nodes with advisory logical context. Read more
Async immutable shared-byte read.
Async ordered retained-byte batch read for unique keys.
Whether async shared reads retain backend-owned immutable allocations.
Source§impl<B> AsyncTransactionalStore for RemoteProllyStore<B>where
B: RemoteStoreBackend,
impl<B> AsyncTransactionalStore for RemoteProllyStore<B>where
B: RemoteStoreBackend,
Source§fn supports_transactions(&self) -> bool
fn supports_transactions(&self) -> bool
Whether this backend can atomically commit staged nodes and roots.
Source§async fn commit_transaction(
&self,
node_writes: &[TransactionNodeWrite],
root_conditions: &[RootCondition],
root_writes: &[RootWrite],
) -> Result<TransactionUpdate, Error>
async fn commit_transaction( &self, node_writes: &[TransactionNodeWrite], root_conditions: &[RootCondition], root_writes: &[RootWrite], ) -> Result<TransactionUpdate, Error>
Atomically validate root conditions, write nodes, and apply root writes.
Source§impl<B> Clone for RemoteProllyStore<B>where
B: Clone,
impl<B> Clone for RemoteProllyStore<B>where
B: Clone,
Source§fn clone(&self) -> RemoteProllyStore<B>
fn clone(&self) -> RemoteProllyStore<B>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<B> Freeze for RemoteProllyStore<B>where
B: Freeze,
impl<B> RefUnwindSafe for RemoteProllyStore<B>where
B: RefUnwindSafe,
impl<B> Send for RemoteProllyStore<B>where
B: Send,
impl<B> Sync for RemoteProllyStore<B>where
B: Sync,
impl<B> Unpin for RemoteProllyStore<B>where
B: Unpin,
impl<B> UnsafeUnpin for RemoteProllyStore<B>where
B: UnsafeUnpin,
impl<B> UnwindSafe for RemoteProllyStore<B>where
B: UnwindSafe,
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
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