template <>

class WireWeakAsyncClientImpl

Defined at line 3646 of file fidling/gen/sdk/fidl/fuchsia.hardware.radar/fuchsia.hardware.radar/cpp/fidl/fuchsia.hardware.radar/cpp/wire_messaging.h

Public Methods

::fidl::internal::WireThenable< ::fuchsia_hardware_radar::RadarBurstReader::GetBurstProperties> GetBurstProperties ()

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_radar::RadarBurstReader::RegisterVmos> RegisterVmos (::fidl::VectorView<uint32_t> vmo_ids, ::fidl::VectorView< ::zx::vmo> vmos)

Registers the VMOs for future use and associates them with vmo_ids,

which can be used with `UnregisterVmos()` and `OnBurst()`. vmos will be

mapped by the driver using `ZX_VM_PERM_WRITE`. The client should only

read registered VMOs that are sent via `OnBurst()`. The size of vmo is

assumed to be at least the burst size, and the sizes of `vmo_ids` and

`vmos` must be the same.

+ request `vmo_ids` the ID numbers to associate with each VMO.

+ request `vmos` the VMO handles corresponding to each ID.

* error one of the following `StatusCode` values:

* `INVALID_ARGS`: `vmo_ids` and `vmos` were of different sizes.

* `VMO_BAD_HANDLE`: A handle in `vmos` was invalid.

* `VMO_ALREADY_REGISTERED`: An ID in `vmo_ids` was already

* registered.

* `VMO_ACCESS_DENIED`: A VMO in `vmos` could not be mapped due to

* insufficient permissions.

* `VMO_TOO_SMALL`: A VMO in `vmos` was smaller than the burst size.

The request and callback are allocated on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_radar::RadarBurstReader::UnregisterVmos> UnregisterVmos (::fidl::VectorView<uint32_t> vmo_ids)

Removes the associations with the given VMO IDs and returns the VMOs to

the client. The driver will not send any more `OnBurst()` events with

these VMO IDs after replying, however the client may still receive

bursts with these IDs if they were in flight during this call. The

driver must return all of the requested VMOs, or return an error. In

case of an error, the driver may have unregistered some or all of the

requested VMOs.

+ request `vmo_ids` the IDs of the VMOs to unregister and return.

- response `vmos` the VMO handles corresponding to `vmo_ids`.

* error one of the following `StatusCode` values:

* `INVALID_ARGS`: `vmo_ids` was too big.

* `VMO_NOT_FOUND`: An ID in `vmo_ids` was not registered.

The request and callback are allocated on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_radar::RadarBurstReader::StopBursts> StopBursts ()

Tells the driver to stop sending bursts via `OnBurst()`. If all clients

call `StopBursts()` then the driver may choose to stop its worker thread.

The driver may wait for a single burst read to complete, but will not

access any of the client’s VMOs or call its observer after replying.

Note that already inflight `OnBurst()` bursts may still be received by

the client.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.