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() -> Self
pub fn is_unknown(&self) -> bool
Trait Implementations§
Source§impl Clone for HealthAlert
impl Clone for HealthAlert
Source§impl Debug for HealthAlert
impl Debug for HealthAlert
Source§impl<D: ResourceDialect> Decode<HealthAlert, D> for HealthAlert
impl<D: ResourceDialect> Decode<HealthAlert, D> for HealthAlert
Source§impl<D: ResourceDialect> Encode<HealthAlert, D> for &HealthAlert
impl<D: ResourceDialect> Encode<HealthAlert, D> for &HealthAlert
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 more