class HealthAlert

Defined at line 1592 of file fidling/gen/sdk/fidl/fuchsia.driver.framework/fuchsia.driver.framework/cpp/fidl/fuchsia.driver.framework/cpp/natural_types.h

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).

Public Methods

void HealthAlert (HealthAlert && other)
HealthAlert & operator= (HealthAlert && other)
void HealthAlert (const HealthAlert & other)
HealthAlert & operator= (const HealthAlert & other)
bool operator== (const HealthAlert & other)
bool operator!= (const HealthAlert & other)
bool IsUnknown ()
::fuchsia_driver_framework::HealthAlert::Tag Which ()
HealthAlert WithSelfFault (::fuchsia_driver_framework::HealthCheckResponse val)
const ::fidl::internal::UnionMemberView<1, Storage_> self_fault ()
::fidl::internal::UnionMemberView<1, Storage_> self_fault ()
HealthAlert & self_fault (::fuchsia_driver_framework::HealthCheckResponse value)

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.

HealthAlert WithUpstreamNeighborFault (::fuchsia_driver_framework::HealthCheckResponse val)
const ::fidl::internal::UnionMemberView<2, Storage_> upstream_neighbor_fault ()
::fidl::internal::UnionMemberView<2, Storage_> upstream_neighbor_fault ()
HealthAlert & upstream_neighbor_fault (::fuchsia_driver_framework::HealthCheckResponse value)

The driver cannot make progress because an upstream dependency

(parent/bus/clock/power/register provider) is unresponsive or invalid.

HealthAlert WithDownstreamNeighborFault (::fuchsia_driver_framework::HealthCheckResponse val)
const ::fidl::internal::UnionMemberView<3, Storage_> downstream_neighbor_fault ()
::fidl::internal::UnionMemberView<3, Storage_> downstream_neighbor_fault ()
HealthAlert & downstream_neighbor_fault (::fuchsia_driver_framework::HealthCheckResponse value)

The driver cannot make progress because a downstream consumer

(child/client) is wedged or failing to drain queues/buffers.

void HealthAlert (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Enumerations

enum class Tag : fidl_xunion_tag_t
Name Value Comments
kSelfFault 1

0x1

kUpstreamNeighborFault 2

0x2

kDownstreamNeighborFault 3

0x3

_do_not_handle_this__write_a_default_case_instead ::std::numeric_limits<::fidl_union_tag_t>::max() --

TODO: share union tag types between wire

&

natural.

Defined at line 1603 of file fidling/gen/sdk/fidl/fuchsia.driver.framework/fuchsia.driver.framework/cpp/fidl/fuchsia.driver.framework/cpp/natural_types.h

Friends

class NaturalUnionCodingTraits