pub enum UpdateOutcome {
Available {
manifest: Manifest,
},
Staged {
seq: u64,
version: Version,
},
UpToDate {
offered: Version,
watermark: Version,
},
Blacklisted {
version: Version,
},
ShellTooOld {
required: Version,
shell: Version,
},
AlreadyStaged {
seq: u64,
version: Version,
},
}Expand description
Result of a check or download pass. Refusals are first-class outcomes, not errors: they are the pipeline saying “this manifest is not for us”, with the reason preserved for the app/UI.
Variants§
Available
check() only: a verified, applicable update is offered.
Staged
check_and_download() only: downloaded, verified, extracted, staged
for the next cold launch.
UpToDate
The offered version is not strictly newer than the watermark. This is both the everyday “no update” answer and the downgrade-replay rejection — an old validly-signed manifest lands here.
Blacklisted
The offered archive hash previously failed a trial boot and is permanently blacklisted; a fixed release ships under a new hash.
ShellTooOld
The bundle requires a newer shell; this install stays put until a store update arrives.
AlreadyStaged
Exactly this archive is already staged and waiting for its trial boot; nothing to do.
Trait Implementations§
Source§impl Clone for UpdateOutcome
impl Clone for UpdateOutcome
Source§fn clone(&self) -> UpdateOutcome
fn clone(&self) -> UpdateOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UpdateOutcome
impl Debug for UpdateOutcome
impl Eq for UpdateOutcome
Source§impl PartialEq for UpdateOutcome
impl PartialEq for UpdateOutcome
Source§impl Serialize for UpdateOutcome
impl Serialize for UpdateOutcome
impl StructuralPartialEq for UpdateOutcome
Auto Trait Implementations§
impl Freeze for UpdateOutcome
impl RefUnwindSafe for UpdateOutcome
impl Send for UpdateOutcome
impl Sync for UpdateOutcome
impl Unpin for UpdateOutcome
impl UnsafeUnpin for UpdateOutcome
impl UnwindSafe for UpdateOutcome
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.