template <>

class WireSyncBufferClientImpl

Defined at line 1531 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::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

Defined at line 1544 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

::fdf::WireUnownedResult< ::fuchsia_hardware_network_driver::NetworkDeviceIfc::AddPort> AddPort (uint8_t id, ::fdf::ClientEnd< ::fuchsia_hardware_network_driver::NetworkPort> && port)

Instantiates a new port with `id`.

`id` must not be currently in use by any other ports. `id`s may be

reused once the provided port is destroyed by [`NetworkPort.Removed`].

Port identifiers do not need to be stable across instantiations or

reboots. Port identifiers don't need to be allocated in any specific

order as long as [`MAX_PORTS`] is not exceeded.

+ request `id` new port identifier.

+ request `port` handle to network port implementation.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

Defined at line 1562 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

::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

Defined at line 1575 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

::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

Defined at line 1598 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

::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

Defined at line 1618 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

::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

Defined at line 1641 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