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: ResourceDialect> Decode<State, D> for State
impl<D: ResourceDialect> Decode<State, D> for State
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
.§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 more§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.