pub enum RebootReason {
Show 18 variants
Unknown,
Cold,
BriefPowerLoss,
Brownout,
KernelPanic,
SystemOutOfMemory,
HardwareWatchdogTimeout,
SoftwareWatchdogTimeout,
RootJobTermination,
UserRequest,
SystemUpdate,
RetrySystemUpdate,
HighTemperature,
SessionFailure,
SysmgrFailure,
FactoryDataReset,
CriticalComponentFailure,
ZbiSwap,
// 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.
SystemUpdate
The device rebooted because of an OTA.
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.
Implementations§
Source§impl RebootReason
impl RebootReason
pub fn from_primitive(prim: u16) -> Option<Self>
pub fn from_primitive_allow_unknown(prim: u16) -> Self
pub fn unknown() -> Self
pub const fn into_primitive(self) -> u16
pub fn is_unknown(&self) -> bool
Trait Implementations§
Source§impl Clone for RebootReason
impl Clone for RebootReason
Source§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 moreSource§impl Debug for RebootReason
impl Debug for RebootReason
Source§impl<D: ResourceDialect> Decode<RebootReason, D> for RebootReason
impl<D: ResourceDialect> Decode<RebootReason, D> for RebootReason
Source§impl<D: ResourceDialect> Encode<RebootReason, D> for RebootReason
impl<D: ResourceDialect> Encode<RebootReason, D> for RebootReason
Source§impl Hash for RebootReason
impl Hash for RebootReason
Source§impl Ord for RebootReason
impl Ord for RebootReason
Source§fn cmp(&self, other: &RebootReason) -> Ordering
fn cmp(&self, other: &RebootReason) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for RebootReason
impl PartialEq for RebootReason
Source§impl PartialOrd for RebootReason
impl PartialOrd for RebootReason
Source§impl TypeMarker for RebootReason
impl TypeMarker for RebootReason
Source§type Owned = RebootReason
type Owned = RebootReason
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 RebootReason
impl ValueTypeMarker for RebootReason
Source§type Borrowed<'a> = RebootReason
type Borrowed<'a> = RebootReason
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Copy for RebootReason
impl Eq for RebootReason
impl StructuralPartialEq for RebootReason
Auto Trait Implementations§
impl Freeze for RebootReason
impl RefUnwindSafe for RebootReason
impl Send for RebootReason
impl Sync for RebootReason
impl Unpin for RebootReason
impl UnwindSafe for RebootReason
Blanket Implementations§
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)