Skip to main content

HotUpdate

Struct HotUpdate 

Source
pub struct HotUpdate { /* private fields */ }
Expand description

Runtime API, managed in the app state by crate::init. IPC commands (WP4) will be thin wrappers over these methods.

Implementations§

Source§

impl HotUpdate

Source

pub fn notify_app_ready(&self) -> Result<AckOutcome>

Commit the bundle this process booted (notifyAppReady).

Commits the in-memory booted seq captured at boot resolution — never a value re-read from disk — so a download that finished mid-session stays staged for its own trial boot. Idempotent.

Source

pub fn current_bundle(&self) -> Result<CurrentBundle>

What is being served right now.

Source

pub fn reset(&self) -> Result<()>

Debug/support escape hatch: wipe all OTA state and bundles, restart the watermark from the embedded version. The currently served bundle dir (if any) is left in place until the next boot’s GC so the running webview is not torn; serving reverts to embedded on the next launch.

Source§

impl HotUpdate

Source

pub async fn check(&self, config: &UpdateConfig) -> Result<UpdateOutcome>

Fetch and verify the manifest, then report whether it is applicable. Never downloads the archive. Errors are verification/transport failures; gate refusals are Ok outcomes.

Source

pub async fn check_and_download( &self, config: &UpdateConfig, on_progress: impl FnMut(u64, u64) + Send, ) -> Result<UpdateOutcome>

The full pipeline: check, and if an update is applicable, download, verify, extract, and stage it for the next cold launch.

on_progress(downloaded, total) fires per received archive chunk. Concurrent calls are serialized; the loser of the race then reports AlreadyStaged/UpToDate instead of downloading twice.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more