pub enum HealthAlert {
SelfFault(HealthCheckResponse),
UpstreamNeighborFault(HealthCheckResponse),
DownstreamNeighborFault(HealthCheckResponse),
// some variants omitted
}Expand description
Payload of a proactive health alert emitted by a driver via OnHealthAlert.
“Upstream” is what the driver depends on (parents: buses, clocks, power
domains, composite parents). “Downstream” is what depends on the driver
(children / consumers).
Variants§
SelfFault(HealthCheckResponse)
The driver detected an internal hardware or software fault, or
recovered from a previously reported fault (when conditions is empty).
Edge-triggered: send when the driver’s overall status worsens
(OK->DEGRADED, DEGRADED->UNHEALTHY) and again with empty conditions
when it recovers; never per occurrence of an already-reported condition.
UpstreamNeighborFault(HealthCheckResponse)
The driver cannot make progress because an upstream dependency (parent/bus/clock/power/register provider) is unresponsive or invalid.
DownstreamNeighborFault(HealthCheckResponse)
The driver cannot make progress because a downstream consumer (child/client) is wedged or failing to drain queues/buffers.
Implementations§
Source§impl HealthAlert
impl HealthAlert
pub fn ordinal(&self) -> u64
pub fn unknown_variant_for_testing() -> HealthAlert
pub fn is_unknown(&self) -> bool
Trait Implementations§
Source§impl Clone for HealthAlert
impl Clone for HealthAlert
Source§fn clone(&self) -> HealthAlert
fn clone(&self) -> HealthAlert
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HealthAlert
impl Debug for HealthAlert
Source§impl<D> Decode<HealthAlert, D> for HealthAlertwhere
D: ResourceDialect,
impl<D> Decode<HealthAlert, D> for HealthAlertwhere
D: ResourceDialect,
Source§fn new_empty() -> HealthAlert
fn new_empty() -> HealthAlert
Self. The specific value does not matter,
since it will be overwritten by decode.Source§impl<D> Encode<HealthAlert, D> for &HealthAlertwhere
D: ResourceDialect,
impl<D> Encode<HealthAlert, D> for &HealthAlertwhere
D: ResourceDialect,
Source§impl PartialEq for HealthAlert
impl PartialEq for HealthAlert
impl Persistable for HealthAlert
Source§impl TypeMarker for HealthAlert
impl TypeMarker for HealthAlert
Source§type Owned = HealthAlert
type Owned = HealthAlert
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 HealthAlert
impl ValueTypeMarker for HealthAlert
Source§type Borrowed<'a> = &'a HealthAlert
type Borrowed<'a> = &'a HealthAlert
Encode<Self>
type cheaply obtainable from &Self::Owned. There are three cases: Read moreSource§fn borrow(
value: &<HealthAlert as TypeMarker>::Owned,
) -> <HealthAlert as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<HealthAlert as TypeMarker>::Owned, ) -> <HealthAlert as ValueTypeMarker>::Borrowed<'_>
&Self::Owned to Self::Borrowed.