pub struct ProgressSink(/* private fields */);Expand description
Progress callback invoked by streaming put/get operations.
report(bytes_just_transferred) fires at chunk boundaries — one
event per completed part / block on multipart uploads (both S3 and
Azure above [multipart::MULTIPART_PUT_THRESHOLD]; issue #53), one
event per ranged GET on multipart downloads, one event per body
chunk on small-object reads, and a single end-of-transfer event on
single-PUT uploads. Callers accumulate bytes_so_far themselves.
The callback runs on the backend’s task and may be invoked from a
spawned worker, so it must be cheap and non-blocking. The LFS agent
forwards report calls into an mpsc channel that the agent drains
into protocol progress events.
Implementations§
Trait Implementations§
Source§impl Clone for ProgressSink
impl Clone for ProgressSink
Source§fn clone(&self) -> ProgressSink
fn clone(&self) -> ProgressSink
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ProgressSink
impl !UnwindSafe for ProgressSink
impl Freeze for ProgressSink
impl Send for ProgressSink
impl Sync for ProgressSink
impl Unpin for ProgressSink
impl UnsafeUnpin for ProgressSink
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
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>
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 moreCreates a shared type from an unshared type.