[−][src]Trait git_features::progress::Progress
Associated Types
type SubProgress: Progress
Required methods
fn add_child(&mut self, name: impl Into<String>) -> Self::SubProgress
[−]
Adds a new child, whose parent is this instance, with the given name.
This will make the child progress to appear contained in the parent progress.
fn init(&mut self, max: Option<usize>, unit: Option<Unit>)
[−]
Initialize the Item for receiving progress information.
If max
is Some(…)
, it will be treated as upper bound. When progress is set(…)
it should not exceed the given maximum.
If max
is None
, the progress is unbounded. Use this if the amount of work cannot accurately
be determined in advance.
If unit
is Some(…)
, it is used for display purposes only. See prodash::Unit
for more information.
If this method is never called, this Progress
instance will serve as organizational unit, useful to add more structure
to the progress tree (e.g. a headline).
Note that this method can be called multiple times, changing the bounded-ness and unit at will.
fn set(&mut self, step: usize)
[−]
Set the current progress to the given step
. The cost of this call is negligible,
making manual throttling not necessary.
Note: that this call has no effect unless init(…)
was called before.
fn step(&self) -> usize
[−]
Returns the current step, as controlled by inc*(…)
calls
fn inc_by(&mut self, step: usize)
[−]
Increment the current progress to the given step
.
The cost of this call is negligible, making manual throttling not necessary.
fn set_name(&mut self, name: impl Into<String>)
[−]
Set the name of the instance, altering the value given when crating it with add_child(…)
The progress is allowed to discard it.
fn name(&self) -> Option<String>
[−]
Get the name of the instance as given when creating it with add_child(…)
The progress is allowed to not be named, thus there is no guarantee that a previously set names 'sticks'.
fn message(&mut self, level: MessageLevel, message: impl Into<String>)
[−]
Create a message
of the given level
and store it with the progress tree.
Use this to provide additional,human-readable information about the progress made, including indicating success or failure.
Provided methods
fn unit(&self) -> Option<Unit>
[−]
Returns the (cloned) unit associated with this Progress
fn max(&self) -> Option<usize>
[−]
Returns the maximum about of items we expect, as provided with the init(…)
call
fn inc(&mut self)
[−]
Increment the current progress to the given 1. The cost of this call is negligible, making manual throttling not necessary.
fn info(&mut self, message: impl Into<String>)
[−]
Create a message providing additional information about the progress thus far.
fn done(&mut self, message: impl Into<String>)
[−]
Create a message indicating the task is done successfully
fn fail(&mut self, message: impl Into<String>)
[−]
Create a message indicating the task failed
fn show_throughput(&mut self, start: Instant)
[−]
A shorthand to print throughput information
fn show_throughput_with(&mut self, start: Instant, step: usize, unit: Unit)
[−]
A shorthand to print throughput information, with the given step and unit