pub enum State {
CheckingForUpdates(CheckingForUpdatesData),
ErrorCheckingForUpdate(ErrorCheckingForUpdateData),
NoUpdateAvailable(NoUpdateAvailableData),
InstallationDeferredByPolicy(InstallationDeferredData),
InstallingUpdate(InstallingData),
WaitingForReboot(InstallingData),
InstallationError(InstallationErrorData),
}
Expand description
The set of states that a [Monitor
] can receive during an update check.
An update check ends when it enters a terminal state, denoted below as the states on the right-hand side of the diagram with no arrows leading out of them.
§State Machine Diagram
+----------------------+ +---------------------------------+
| checking_for_updates |---->| error_checking_for_update |
+----------------------+ +---------------------------------+
|
| +---------------------------------+
+---------------->| no_update_available |
| +---------------------------------+
|
| +---------------------------------+
+---------------->| installation_deferred_by_policy |
| +---------------------------------+
v
+----------------------+ +---------------------------------+
| installing_update |---->| installation_error |
+----------------------+ +---------------------------------+
|
| +---------------------------------+
+---------------->| waiting_for_reboot |
+---------------------------------+
Variants§
CheckingForUpdates(CheckingForUpdatesData)
The Manager is currently checking for an update.
Next states:
installing_update
update is available and allowed by policyerror_checking_for_update
on errorupdate_deferred_by_policy
update is available but deferred by policy
ErrorCheckingForUpdate(ErrorCheckingForUpdateData)
The Manager encountered an error while checking for the existence of a a new update.
This is a terminal state
NoUpdateAvailable(NoUpdateAvailableData)
There is not update available at this time.
This is a terminal state
InstallationDeferredByPolicy(InstallationDeferredData)
The Manager has found an available update but is not acting on it at this time due to policy restrictions.
This is a terminal state
InstallingUpdate(InstallingData)
The Manager is installing the available update.
Next states:
waiting_for_reboot
on successinstallation_error
on error
WaitingForReboot(InstallingData)
The update has been installed, and the device is waiting to be rebooted.
Next states:
- (none, the device reboots)
This is a terminal state
InstallationError(InstallationErrorData)
The Manager encountered an update in the installation of the update.
This is a terminal state
Implementations§
Trait Implementations§
Source§impl<D> Decode<State, D> for Statewhere
D: ResourceDialect,
impl<D> Decode<State, D> for Statewhere
D: ResourceDialect,
Source§impl TypeMarker for State
impl TypeMarker for State
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.Source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read moreSource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.Source§impl ValueTypeMarker for State
impl ValueTypeMarker for State
Source§type Borrowed<'a> = &'a State
type Borrowed<'a> = &'a State
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreSource§fn borrow(
value: &<State as TypeMarker>::Owned,
) -> <State as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<State as TypeMarker>::Owned, ) -> <State as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.