template <>
class WireWeakOnewayClientImpl
Defined at line 4552 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
Protected Members
const ::fdf::Arena & arena_
Public Methods
::fidl::OneWayStatus PortStatusChanged (uint8_t id, ::fuchsia_hardware_network::wire::PortStatus new_status)
Notifies the interface of status changes on port with `id`.
Port status changes must always be notified through `StatusChanged`. The
interface will not poll ports for status via [`NetworkPort.GetStatus`].
+ request `id` port identifier.
+ request `new_status` new port's status.
Allocates 72 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::OneWayStatus RemovePort (uint8_t id)
Destroys port with `id`.
NOTE: Resources associated with the port must not be freed until
[`NetworkPort.Removed`] is called.
+ request `id` removed port identifier.
Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::OneWayStatus CompleteRx (::fidl::VectorView< ::fuchsia_hardware_network_driver::wire::RxBuffer> rx)
Notifies interface of incoming rx data, contained in [`RxBuffer`].
Callers should attempt to batch as many buffers as possible in a single
call. Number of buffers in a single call must be limited to the
[`DeviceInfo.rx_depth`] reported by the `NetworkDeviceImpl` that is
returning the buffers.
Buffers with zero length are considered "unfulfilled". They're not
reported to any sessions and the buffer space comprising them may be
reused. Devices should return any outstanding buffer space as
unfulfilled on stop. See [`NetworkDeviceImpl.Stop`].
By calling `CompleteRx` the caller relinquishes ownership of all buffers
that are being marked as complete.
+ request `rx` buffers containing incoming data.
Allocates 16 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::OneWayStatus CompleteTx (::fidl::VectorView< ::fuchsia_hardware_network_driver::wire::TxResult> tx)
Notifies interface of complete transmit buffers.
Callers should attempt to batch as many buffers as possible in a single
call.
Number of buffers in a single call must be limited to the
[`DeviceInfo.tx_depth`] reported by the `NetworkDeviceImpl` that is
returning the buffers.
By calling `CompleteTx` the caller relinquishes ownership of all buffers
that are being returned.
+ request `tx` transmit results.
Allocates 16 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::OneWayStatus DelegateRxLease (::fuchsia_hardware_network::wire::DelegatedRxLease delegated)
Transfers a receive wake lease up to the application.
Devices that allow applications to fully deal with a frame after a wake
from network traffic may use this method as a "lease baton passing"
strategy. Applications that support wake handling hold on to the lease
until the rx traffic is fully processed.
Devices must keep track of the number of rx frames sent over
[`NetworkDeviceIfc.CompleteRx`] and use the latest issued frame number
as [`fuchsia.hardware.network/DelegatedRxLease.hold_until_frame`] to
guarantee processing. *Every* frame successfully given to `CompleteRx`
should increase the rx frame count. Note that the frame number is
1-based, see `hold_until_frame` docs for details.
Note that this is a one-way method and flow-control is enforced via the
regular rx space -> rx completion flow.
Allocates 88 bytes of message buffer on the stack. No heap allocation necessary.
void WireWeakOnewayClientImpl (fidl::internal::ClientBase * client_base, const fdf::Arena & arena)
Defined at line 4555 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