template <>
class WireWeakAsyncBufferClientImpl
Defined at line 4723 of file fidling/gen/sdk/fidl/fuchsia.hardware.network.driver/fuchsia.hardware.network.driver/cpp/fidl/fuchsia.hardware.network.driver/cpp/driver/wire_messaging.h
Public Methods
::fidl::internal::WireBufferThenable< ::fuchsia_hardware_network_driver::NetworkDeviceImpl::Init> Init (::fdf::ClientEnd< ::fuchsia_hardware_network_driver::NetworkDeviceIfc> && iface)
Initializes the network device.
`Init` is only called once during the lifetime of the device to register
`iface` as the callback target for the Network Device implementation.
Upon initialization, the device is expected to be in the "Stopped"
state, the `Start` method will be called once the data path needs to be
opened.
+ request `iface` handle to the device interface.
- response `s` initialization status. A value other than `ZX_OK` will
cause the device to unbind.
Caller provides the backing storage for FIDL message.
::fidl::internal::WireBufferThenable< ::fuchsia_hardware_network_driver::NetworkDeviceImpl::Start> Start ()
Starts the device's data path.
`start` signals to the device implementation that it should bring up its
data path and be ready to receive tx frames and `iface` will start
accepting rx frames.
The device is only considered started once `Start` returns successfully.
Until then, the contract guarantees that no other data-path calls will
be made to the device (`QueueTx`, `RxAvailable`, `Stop`, or a second
call to `Start`), so implementers can safely assume or assert that this
contract is upheld.
- response `s` start status. `ZX_OK` indicates a successful start.
`ZX_ERR_ALREADY_BOUND` indicates that the device has already been
successfully started. Any other status value indicates an implementation
specific error.
Caller provides the backing storage for FIDL message.
::fidl::internal::WireBufferThenable< ::fuchsia_hardware_network_driver::NetworkDeviceImpl::Stop> Stop ()
Stops the network device.
The device implementation must return all outstanding Tx and Rx buffers
upon receiving this call. Any new buffers received in the stopped state
must be returned with an appropriate error (tx) or unfulfilled (rx). See
[`NetworkDeviceIfc.CompleteTx`] and [`NetworkDeviceIfc.CompleteRx`] for
details.
The device implementation may perform any power saving measures after
observing stop.
Caller provides the backing storage for FIDL message.
::fidl::internal::WireBufferThenable< ::fuchsia_hardware_network_driver::NetworkDeviceImpl::GetInfo> GetInfo ()
Gets information about the device.
Device information must not change over the course of the lifetime of
the device.
- response `info` device information.
Caller provides the backing storage for FIDL message.
::fidl::internal::WireBufferThenable< ::fuchsia_hardware_network_driver::NetworkDeviceImpl::PrepareVmo> PrepareVmo (uint8_t id, ::zx::vmo && vmo)
Informs device that a new VMO is being used to store frame data.
Implementers must store the VMO handle referenced by `id` until
[`NetworkDeviceImpl.ReleaseVmo`] is called with the same `id`.
+ request `id` identifier used to reference this VMO.
+ request `vmo` VMO where frame data will be stored.
- response `s` vmo registration status. `ZX_OK` indicates a successful
VMO preparation. Any other status value indicates an implementation
specific error and causes the client session which owns the VMO to be
closed.
Caller provides the backing storage for FIDL message.
::fidl::internal::WireBufferThenable< ::fuchsia_hardware_network_driver::NetworkDeviceImpl::ReleaseVmo> ReleaseVmo (uint8_t id)
Device may dispose of all references to the VMO referenced by `id`.
No more buffers will be sent with this `id`.
`ReleaseVmo` is guaranteed to only be called when the implementation
holds no buffers that reference that `id`.
+ request `id` VMO identifier.
Caller provides the backing storage for FIDL message.