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