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§
Sourcefn get(&self, key: &str) -> Result<Option<RemoteObject>, RemoteBackendFailure>
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.
Sourcefn put_conditional(
&mut self,
key: &str,
bytes: Vec<u8>,
expected_version: Option<RemoteVersionToken>,
) -> RemoteWriteOutcome
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).
Sourcefn delete_conditional(
&mut self,
key: &str,
expected_version: Option<RemoteVersionToken>,
) -> RemoteWriteOutcome
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".