pub trait MetadataKvBackendCreator: Send + Sync {
// Required method
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
metadata_dir: String,
opts: &'life1 StandaloneOptions,
) -> Pin<Box<dyn Future<Output = Result<ClosableKvBackendRef>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Customizes how standalone opens its metadata KV backend.
The default implementation preserves the built-in raft-engine path. Other callers can provide a custom implementation without changing standalone configuration types.
Required Methods§
Sourcefn create<'life0, 'life1, 'async_trait>(
&'life0 self,
metadata_dir: String,
opts: &'life1 StandaloneOptions,
) -> Pin<Box<dyn Future<Output = Result<ClosableKvBackendRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
metadata_dir: String,
opts: &'life1 StandaloneOptions,
) -> Pin<Box<dyn Future<Output = Result<ClosableKvBackendRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Standalone closes the backend on shutdown, so wrappers must forward close to the backend they wrap.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".