Enum fidl_fuchsia_update::State
source · 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 PartialEq for State
impl PartialEq 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.source§impl ValueTypeMarker for State
impl ValueTypeMarker for State
impl Persistable for State
impl StructuralPartialEq for State
Auto Trait Implementations§
impl Freeze for State
impl RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnwindSafe for State
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)