Skip to main content

RemoteDataStoreBackend

Trait RemoteDataStoreBackend 

Source
pub trait RemoteDataStoreBackend {
    // Required methods
    fn get(
        &self,
        key: &str,
    ) -> Result<Option<RemoteObject>, RemoteBackendFailure>;
    fn put_conditional(
        &mut self,
        key: &str,
        bytes: Vec<u8>,
        expected_version: Option<RemoteVersionToken>,
    ) -> RemoteWriteOutcome;
    fn delete_conditional(
        &mut self,
        key: &str,
        expected_version: Option<RemoteVersionToken>,
    ) -> RemoteWriteOutcome;
}
Expand description

Host-provided, provider-specific transport. The host owns endpoint selection, authentication, tenant mapping, and retry policy; Traverse only validates envelope/integrity semantics and projects safe outcomes.

Required Methods§

Source

fn get(&self, key: &str) -> Result<Option<RemoteObject>, RemoteBackendFailure>

Reads the current stored object and its opaque version, if any.

§Errors

Returns RemoteBackendFailure when the backend cannot complete the read.

Source

fn put_conditional( &mut self, key: &str, bytes: Vec<u8>, expected_version: Option<RemoteVersionToken>, ) -> RemoteWriteOutcome

Writes bytes for key conditioned on expected_version (None means the key was absent at the time of the preceding read).

Source

fn delete_conditional( &mut self, key: &str, expected_version: Option<RemoteVersionToken>, ) -> RemoteWriteOutcome

Deletes key conditioned on expected_version (None means the key was absent at the time of the preceding read).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§