pub enum BootstrapStatus {
Opening(Progress<OpenStep>),
Connecting,
WaitingForApproval {
confirmation: ConfirmationNumber,
},
Loading(Progress<LoadStep>),
Registering,
Committing,
Pending(Vec<PendingRecord>),
}Expand description
Bootstrap progress (E10), before an open handle exists.
Variants§
Opening(Progress<OpenStep>)
Opening a store’s database, with the open’s steps as
CovenBuilder::open reports them (E1): a new installation’s, which
runs every migration, or, when restore_device finds the restore
code’s keys already installed, this device’s own.
Connecting
Accepting provider access, connecting to storage and sending a join request.
WaitingForApproval
The join request is sent and waits for approval (§13.2).
Fields
confirmation: ConfirmationNumberThe number the admin compares before approving.
Loading(Progress<LoadStep>)
Loading the store from storage: the scan for this member’s keys when
the floor holds none, the floor’s snapshots, then the slots after
them, each step with how much of it is done (§13.4). A waiting join’s
scan for its keys is part of its wait; the check in which its keys
open, in its admission, reports that scan, and the join reports the
loading of the store it publishes after Committing. A restore’s
registering follows the last.
Registering
Registering this device once the store is loaded: a restore’s check of the access it reaches storage with, the device’s registration, whose claim first reads the slots added since loading, and the recorded access that follows (§13.1). No count: how many slots the claim reads isn’t known until it has read them. A join never reports it: its approval registered its device (§13.2).
Committing
Keeping the member’s keys and the device’s credentials in custody and
publishing the store, the last work before the handle opens (§13.1);
for a join, the work between finding its admission and loading the
store it publishes (§13.2).
A replacement’s swap and its reopening, reported as Opening, come
before it; restore_device also removes the installation it
replaced, a folder of any size, which has no count either.
Pending(Vec<PendingRecord>)
The join waits on these first unmet conditions, the records
pending() returns once the store is open (§19.1).
Trait Implementations§
Source§impl Clone for BootstrapStatus
impl Clone for BootstrapStatus
Source§fn clone(&self) -> BootstrapStatus
fn clone(&self) -> BootstrapStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BootstrapStatus
impl Debug for BootstrapStatus
Source§impl PartialEq for BootstrapStatus
impl PartialEq for BootstrapStatus
impl Eq for BootstrapStatus
impl StructuralPartialEq for BootstrapStatus
Auto Trait Implementations§
impl Freeze for BootstrapStatus
impl !RefUnwindSafe for BootstrapStatus
impl Send for BootstrapStatus
impl Sync for BootstrapStatus
impl Unpin for BootstrapStatus
impl UnsafeUnpin for BootstrapStatus
impl !UnwindSafe for BootstrapStatus
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more