class StartAndWait

Defined at line 201 of file fidling/gen/sdk/fidl/fuchsia.hardware.hrtimer/fuchsia.hardware.hrtimer/cpp/fidl/fuchsia.hardware.hrtimer/cpp/markers.h

Start the timer `id` to expire after `ticks` and waits until the timer expires with

support for preventing suspension via the Power Framework.

The driver will signal the `setup_event` event once the timer has been setup using the

ZX_EVENT_SIGNALED signal. This allows a client to know that it is safe to allow the

system to suspend. The client is responsible for clearing this event.

The driver will not respond to this call (hang) until the timer has triggered.

Calling `Stop` on the timer will abort this call and return `CANCELED`. Note that this

may race with the expiration of the timer.

A driver supporting this call must be able to get a lease on a power element that keeps

the system from suspending. This lease is returned to the client via the `keep_alive`

LeaseToken channel field. When `keep_alive` is closed, then the driver lease keeping the

system from suspending will be dropped. Hence, to guarantee that the system is not

suspended by the Power Framework a client must either keep this `keep_alive` token for

as long as the system needs to not suspend, or a client must get its own lease from the

Power Framework to prevent suspension before it drops `keep_alive`.

If the specified `id` is invalid, then this call will return `INVALID_ARGS`.

If this method is not supported for the given `id`, then this call will return

`NOT_SUPPORTED`.

If the driver does not have a `keep_alive` token to provide to the client, then this

call will return `BAD_STATE`.

If the driver encounters an internal error, then this call will return `INTERNAL_ERROR`.

Public Members

static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal