pub struct MultiNodeClone { /* private fields */ }Expand description
Clone all nodes in cluster definition asynchronously.
Implementations§
Source§impl MultiNodeClone
impl MultiNodeClone
Sourcepub fn new(cluster: &Cluster, jobs: Option<usize>) -> Result<Self>
pub fn new(cluster: &Cluster, jobs: Option<usize>) -> Result<Self>
Construct new multi-node clone type from cluster definition.
Extracts all node entries from cluster definition. Will set the number of threads/jobs that
will be used during the cloning of all nodes, with None resulting the saturation of all
CPU cores as much as possible.
§Errors
- Will fail if repository entry could not be constructed for a given node entry.
Sourcepub async fn clone_all(self) -> Result<()>
pub async fn clone_all(self) -> Result<()>
Clone all node entries in cluster asynchronously.
Shows clone progress for each clone tasks. Tasks may block if user needs to enter their credentials.
§Invariants
- Progress bars are properly finished no matter what.
§Panics
- Will panic if mutex guard fails to lock.
- Will panic if mutex cannot be unwrapped to extract clone task result data.
§Errors
- Will fail for clone task failure.
- Failed clone tasks will not cancel any active clone tasks that are not failing.
- Results are only collected until all clone tasks have finished.
- All errors are reported in one-shot.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for MultiNodeClone
impl !Sync for MultiNodeClone
impl !UnwindSafe for MultiNodeClone
impl Freeze for MultiNodeClone
impl Send for MultiNodeClone
impl Unpin for MultiNodeClone
impl UnsafeUnpin for MultiNodeClone
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<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