Skip to main content

Progress

Trait Progress 

Source
pub trait Progress: ProgressSink {
    // Provided methods
    fn message(&mut self, _bytes: &[u8]) { ... }
    fn remote_sideband_progress(&self) -> bool { ... }
    fn wants_received_objects(&self) -> bool { ... }
    fn received_objects(&mut self, _counts: ReceivedObjects) { ... }
}
Expand description

Sink for wire transport progress: typed phases via ProgressSink plus raw side-band channel 2 bytes from the remote.

Implementations receive the server’s progress bytes (typically \r-delimited counter lines) through Progress::message. Typed progress::ProgressPhase updates use the crate::progress::ProgressSink methods inherited from this supertrait.

Provided Methods§

Source

fn message(&mut self, _bytes: &[u8])

Receive a chunk of progress bytes from side-band channel 2.

Source

fn remote_sideband_progress(&self) -> bool

When true, fetch omits no-progress so the remote may emit channel-2 progress.

Source

fn wants_received_objects(&self) -> bool

When true, a pack being received is also counted in objects and reported through Progress::received_objects.

Counting inflates every entry once more on a background thread (the receive itself never waits on it), so leave this off unless the counts are shown.

Source

fn received_objects(&mut self, _counts: ReceivedObjects)

Objects received so far in the pack being streamed in, reported during the ReceivingObjects phase when Progress::wants_received_objects is true. Counts may lag the bytes reported through ProgressSink::inc slightly.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§