Skip to main content

ProgressPhase

Enum ProgressPhase 

Source
pub enum ProgressPhase {
    Starting,
    Loading,
    Scanning,
    Revalidating,
    Indexing,
    Analyzing,
    Saving,
    Summarizing,
}
Expand description

Which kind of work a route is doing.

A snapshot carries the phase most recently entered. Routes enter phases in this order, skipping the ones they do not do: a cold report over a full index goes Scanning, Indexing once the walk is over, then Analyzing if content was requested, Saving if a snapshot is written, and Summarizing while the answer is built (it enters Loading first when it looks for a snapshot and finds none); a warm one goes Loading, Revalidating, then the same without Indexing; a cache-only one walks nothing and goes Loading, then Summarizing.

A watch start builds no answer through these phases and ends at its save, if it writes one. It then runs a second pass: it verifies the tree once more while it binds observation, and that pass begins again at Revalidating with the walk counters restarted, so the line shows the second walk’s own progress rather than a sum.

Variants§

§

Starting

No route has begun work on this handle.

What a fresh handle reports until the route enters its first phase. A caller polling before then shows a wait, not a phase it has not been told about.

§

Loading

A metadata snapshot is being read from the cache.

§

Scanning

The tree is being walked cold.

§

Revalidating

A loaded snapshot is being verified against the tree.

§

Indexing

The walk is over and the index is being assembled from the listings it read.

The walkers count as they read, and the thread that assembles the index can still be working through their listings when the last one finishes, so the counters stop moving before the route returns. This phase is what tells a person the walk has finished rather than stalled.

§

Analyzing

File contents are being read and analyzed.

§

Saving

A snapshot or content sidecar is being written.

§

Summarizing

The answer is being built from the index.

The last phase of a one-shot report over a full index. A save entered before it continues in the background, so the phase names the work in the foreground: building a heavy view (full, or a deep tree with no limit) over a large index takes seconds, which Saving would misdescribe.

Trait Implementations§

Source§

impl Clone for ProgressPhase

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ProgressPhase

Source§

impl Debug for ProgressPhase

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ProgressPhase

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for ProgressPhase

Source§

impl Hash for ProgressPhase

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for ProgressPhase

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ProgressPhase

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.