template <>
class WireSyncBufferClientImpl
Defined at line 3204 of file fidling/gen/sdk/fidl/fuchsia.hardware.radar/fuchsia.hardware.radar/cpp/fidl/fuchsia.hardware.radar/cpp/wire_messaging.h
Public Methods
::fidl::WireUnownedResult< ::fuchsia_hardware_radar::RadarBurstInjector::GetBurstProperties> GetBurstProperties ()
Returns the size and period of bursts reported by the sensor.
- response `size` the size of each radar burst in bytes.
- response `period` the time between bursts in nanoseconds.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_radar::RadarBurstInjector::EnqueueBursts> EnqueueBursts (::fuchsia_hardware_radar::wire::BurstData && bursts)
Enqueues the given VMO with burst data to be injected. After all bursts
from this VMO have been injected, radar-proxy will move on to the next
VMO in the queue. The caller must not write to the VMO until it has been
returned by `OnBurstsDelivered()`. The VMO will be closed and unmapped
if the injector client unexpectedly disconnects.
Bursts are injected by radar-proxy at the rate reported by the
underlying driver's `GetBurstProperties()` method. If no VMOs are in the
queue at the time that a burst is to be delivered, radar-proxy will stop
sending bursts until either `EnqueueBursts()` or `StopBurstInjection()`
is called.
+ request `bursts` the `BurstData` struct containing bursts to inject.
- response `bursts_id` the ID to be passed back through
`OnBurstsDelivered()` after the final burst from this buffer has
been injected.
* error one of the following `StatusCode` values:
* `VMO_BAD_HANDLE`: The VMO handle was invalid.
* `VMO_ACCESS_DENIED`: The VMO had insufficient rights.
* `VMO_TOO_SMALL`: The VMO was too small to hold the indicated number
* of bursts.
* `INVALID_ARGS`: The number of bursts was zero.
* `BAD_STATE`: A previous call to `StopBurstInjection()` is still
* pending.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_radar::RadarBurstInjector::StartBurstInjection> StartBurstInjection ()
Tells radar-proxy to read future bursts from enqueued VMOs rather than
from the real radar driver. radar-proxy will attempt to deliver the
first injected burst at the time that the radar driver would have done
so. If the queue is or becomes empty then sending of bursts will stop
until more bursts are available in the queue. See `EnqueueBursts()`
above.
radar-proxy will call `StopBursts()` on the real radar driver before
it starts to deliver the enqueued bursts.
* error one of the following `StatusCode` values:
* `BAD_STATE`: Injection has already been started, or a previous call
* to `StopBurstInjection()` is still pending.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.
::fidl::WireUnownedResult< ::fuchsia_hardware_radar::RadarBurstInjector::StopBurstInjection> StopBurstInjection ()
Tells radar-proxy to finish injecting bursts from VMOs currently on the
queue then switch back to delivering bursts from the real radar driver.
The reply to this call will not be sent until `OnBurstsDelivered()` has
been called for the final VMO to be injected, and any other calls made
in that time will return errors.
radar-proxy will call `StartBursts()` on the real radar driver as part
of this call. There may be a delay before RadarBurstReader clients start
to receive bursts from the driver again.
* error one of the following `StatusCode` values:
* `BAD_STATE`: Injection has already been stopped, or a call to this
* method is still pending.
Caller provides the backing storage for FIDL message via an argument to `.buffer()`.