Trait asuran::manifest::driver::RestoreDriver [−][src]
pub trait RestoreDriver<T: Write + Send + 'static>: RestoreTarget<T> {
fn raw_retrieve_object<'life0, 'life1, 'life2, 'async_trait, B: BackendClone>(
&'life0 self,
repo: &'life1 mut Repository<B>,
archive: &'life2 ActiveArchive,
node: Node,
objects: HashMap<String, RestoreObject<T>>
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>>
where
B: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
fn retrieve_object<'life0, 'life1, 'life2, 'async_trait, B: BackendClone>(
&'life0 self,
repo: &'life1 mut Repository<B>,
archive: &'life2 ActiveArchive,
node: Node
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>>
where
B: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
{ ... }
}
Expand description
Defines a type that can, semi-automatically, drive the retrieval of objects from
a repository into an associated RestoreTarget
.
As this is effectively an extension trait for a RestoreTarget
, and the
behavior will usually be more or less the same, reasonable default
implementations have been provided.
Provided methods
fn raw_retrieve_object<'life0, 'life1, 'life2, 'async_trait, B: BackendClone>(
&'life0 self,
repo: &'life1 mut Repository<B>,
archive: &'life2 ActiveArchive,
node: Node,
objects: HashMap<String, RestoreObject<T>>
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>> where
B: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn raw_retrieve_object<'life0, 'life1, 'life2, 'async_trait, B: BackendClone>(
&'life0 self,
repo: &'life1 mut Repository<B>,
archive: &'life2 ActiveArchive,
node: Node,
objects: HashMap<String, RestoreObject<T>>
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>> where
B: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
Retrives an object from the repository using the output from RestoreTarget::restore_object
This method should really only be used directly when you want to change the data in route, otherwise use retrive_object.
Retrives objects from the stub-namespaces of the namespace of the object provided
fn retrieve_object<'life0, 'life1, 'life2, 'async_trait, B: BackendClone>(
&'life0 self,
repo: &'life1 mut Repository<B>,
archive: &'life2 ActiveArchive,
node: Node
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>> where
B: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn retrieve_object<'life0, 'life1, 'life2, 'async_trait, B: BackendClone>(
&'life0 self,
repo: &'life1 mut Repository<B>,
archive: &'life2 ActiveArchive,
node: Node
) -> Pin<Box<dyn Future<Output = Result<(), DriverError>> + Send + 'async_trait>> where
B: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
Retrieves an object, performing the call to BackupTarget::restore_object and raw_retrive_object for you.