pub struct TransferHandle { /* private fields */ }Expand description
Handle for tracking and controlling an offload transfer.
Obtained from OffloadEngine::enqueue(). Use this to:
- Monitor transfer progress via
status(),passed_blocks(), etc. - Cancel the transfer via
cancel()and await confirmation - Wait for completion via
wait()
Implementations§
Source§impl TransferHandle
impl TransferHandle
Sourcepub fn id(&self) -> TransferId
pub fn id(&self) -> TransferId
Get the transfer ID.
Sourcepub fn status(&self) -> TransferStatus
pub fn status(&self) -> TransferStatus
Get the current transfer status.
Sourcepub fn passed_blocks(&self) -> Vec<BlockId> ⓘ
pub fn passed_blocks(&self) -> Vec<BlockId> ⓘ
Get blocks that passed all filter policies.
Sourcepub fn completed_blocks(&self) -> Vec<BlockId> ⓘ
pub fn completed_blocks(&self) -> Vec<BlockId> ⓘ
Get blocks that have been successfully transferred.
Sourcepub fn failed_blocks(&self) -> Vec<BlockId> ⓘ
pub fn failed_blocks(&self) -> Vec<BlockId> ⓘ
Get blocks that failed transfer.
Sourcepub fn remaining_blocks(&self) -> Vec<BlockId> ⓘ
pub fn remaining_blocks(&self) -> Vec<BlockId> ⓘ
Get blocks remaining to be transferred.
Sourcepub fn progress_counts(&self) -> TransferProgressCounts
pub fn progress_counts(&self) -> TransferProgressCounts
Return constant-size progress counts without cloning block vectors.
Sourcepub fn new_progress_cursor(&self) -> TransferProgressCursor
pub fn new_progress_cursor(&self) -> TransferProgressCursor
Create a cursor that consumes this transfer’s progress from the start.
Sourcepub fn consume_progress(
&self,
cursor: &mut TransferProgressCursor,
) -> TransferProgressDelta
pub fn consume_progress( &self, cursor: &mut TransferProgressCursor, ) -> TransferProgressDelta
Read each newly passed, completed, or failed block exactly once for this cursor, then advance the cursor to the current progress boundary.
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Check if the transfer is complete (success, cancelled, or failed).
Sourcepub fn cancel(&self) -> CancelConfirmation
pub fn cancel(&self) -> CancelConfirmation
Sourcepub fn is_cancelled(&self) -> bool
pub fn is_cancelled(&self) -> bool
Check if cancellation has been requested.
Sourcepub async fn wait(&mut self) -> Result<TransferResult>
pub async fn wait(&mut self) -> Result<TransferResult>
Wait for the transfer to complete.
Returns the final TransferResult when the transfer reaches a terminal state.
Sourcepub fn subscribe_status(&self) -> Receiver<TransferStatus>
pub fn subscribe_status(&self) -> Receiver<TransferStatus>
Subscribe to status changes.
Sourcepub fn subscribe_progress(&self) -> Receiver<TransferProgressCounts>
pub fn subscribe_progress(&self) -> Receiver<TransferProgressCounts>
Subscribe to constant-size block progress counts.
Trait Implementations§
Source§impl Clone for TransferHandle
impl Clone for TransferHandle
Source§fn clone(&self) -> TransferHandle
fn clone(&self) -> TransferHandle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for TransferHandle
impl !UnwindSafe for TransferHandle
impl Freeze for TransferHandle
impl Send for TransferHandle
impl Sync for TransferHandle
impl Unpin for TransferHandle
impl UnsafeUnpin for TransferHandle
Blanket Implementations§
impl<T> BlockMetadata for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);