Enum RebootReason
pub enum RebootReason {
Show 19 variants
Unknown,
Cold,
BriefPowerLoss,
Brownout,
KernelPanic,
SystemOutOfMemory,
HardwareWatchdogTimeout,
SoftwareWatchdogTimeout,
RootJobTermination,
UserRequest,
RetrySystemUpdate,
HighTemperature,
SessionFailure,
SysmgrFailure,
FactoryDataReset,
CriticalComponentFailure,
ZbiSwap,
SystemUpdate,
NetstackMigration,
// some variants omitted
}
Expand description
Reasons why a device last rebooted.
Variants§
Unknown
The client will get this value if the server is sending a new enum value that the client was not compiled with.
Cold
The device booted from a cold state.
This is most likely the result of an extended period of time without power or a device booting with Fuchsia for the first time.
BriefPowerLoss
The device rebooted due to a brief loss of power.
On some hardware this could be the result of a user disconnecting, then reconnecting their device’s power supply in rapid succession.
Brownout
The device rebooted because its voltage dipped below an allowable level without going to 0.
KernelPanic
SystemOutOfMemory
HardwareWatchdogTimeout
SoftwareWatchdogTimeout
RootJobTermination
The device rebooted because the userspace root job was terminated, most likely because one of its critical processes crashed.
UserRequest
The device rebooted because a user of the device initiated the reboot. A user can be a human or a program that interacts with the device on behalf of a human, such as SL4F or RCS.
RetrySystemUpdate
The device rebooted because applying the OTA failed and we want to retry.
HighTemperature
The device rebooted because it was determined to be too hot.
SessionFailure
The device rebooted because of an issue with a session or because the session manager was unable to recover from an error.
SysmgrFailure
The device rebooted because the system manager (sysmgr) was unable to recover from an error.
FactoryDataReset
The device rebooted following a data reset to factory defaults.
See [fuchsia.recovery.FactoryReset
].
CriticalComponentFailure
The device rebooted because a critical component managed by sysmgr has failed.
ZbiSwap
The device rebooted to apply the swap of Zircon boot images.
SystemUpdate
The device rebooted because of an OTA.
NetstackMigration
The Netstack component is changing versions.
Implementations§
§impl RebootReason
impl RebootReason
pub fn from_primitive(prim: u16) -> Option<RebootReason>
pub fn from_primitive_allow_unknown(prim: u16) -> RebootReason
pub fn unknown() -> RebootReason
pub const fn into_primitive(self) -> u16
pub fn is_unknown(&self) -> bool
Trait Implementations§
§impl Clone for RebootReason
impl Clone for RebootReason
§fn clone(&self) -> RebootReason
fn clone(&self) -> RebootReason
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for RebootReason
impl Debug for RebootReason
§impl<D> Decode<RebootReason, D> for RebootReasonwhere
D: ResourceDialect,
impl<D> Decode<RebootReason, D> for RebootReasonwhere
D: ResourceDialect,
§fn new_empty() -> RebootReason
fn new_empty() -> RebootReason
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl<D> Encode<RebootReason, D> for RebootReasonwhere
D: ResourceDialect,
impl<D> Encode<RebootReason, D> for RebootReasonwhere
D: ResourceDialect,
§impl Hash for RebootReason
impl Hash for RebootReason
§impl Ord for RebootReason
impl Ord for RebootReason
§impl PartialEq for RebootReason
impl PartialEq for RebootReason
§impl PartialOrd for RebootReason
impl PartialOrd for RebootReason
§impl TypeMarker for RebootReason
impl TypeMarker for RebootReason
§type Owned = RebootReason
type Owned = RebootReason
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
§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.§impl ValueTypeMarker for RebootReason
impl ValueTypeMarker for RebootReason
§type Borrowed<'a> = RebootReason
type Borrowed<'a> = RebootReason
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<RebootReason as TypeMarker>::Owned,
) -> <RebootReason as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<RebootReason as TypeMarker>::Owned, ) -> <RebootReason as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.