template <>

class NaturalClientImpl

Defined at line 1204 of file fidling/gen/sdk/fidl/fuchsia.hardware.network/fuchsia.hardware.network/cpp/fidl/fuchsia.hardware.network/cpp/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_hardware_network::Port::GetInfo> GetInfo ()

Obtain information about port.

- response `info` port information.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_network::Port::GetStatus> GetStatus ()

Obtain the operating port status.

- response `status` snapshot of port's current status.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_network::Port::GetCounters> GetCounters ()

Retrieves a snapshot of traffic counters on this port.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_network::Port::GetIdentity> GetIdentity ()

Retrieves a unique event handle that is always associated only with

this port.

This event may be used to uniquely identify a specific port instance

across different APIs in the system.

::fit::result< ::fidl::OneWayError> GetStatusWatcher (::fidl::Request< ::fuchsia_hardware_network::Port::GetStatusWatcher> request)

Connects to a [`StatusWatcher`] to observe port status changes.

+ request `watcher` handle to the status watcher.

+ request `buffer` the number of status changes that the client requests

to be stored by `StatusWatcher`. Values are capped at

[`MAX_STATUS_BUFFER`]. A value of 0 or 1 causes the `StatusWatcher` to

not keep any buffers on status changed. Clients that need to observe all

changes to status (as opposed to only the current state) are encouraged

to set a buffer value larger than 1, so that all edges can be observed.

If `StatusWatcher`'s internal queue is filled and new status changes

occur, the oldest samples will be dropped to make room for new ones.

::fit::result< ::fidl::OneWayError> GetMac (::fidl::Request< ::fuchsia_hardware_network::Port::GetMac> request)

Connects to a [`MacAddressing`] associated with the port.

+ request `mac` mac handle. Closed with `ZX_ERR_NOT_SUPPORTED` if this

port does not support mac addressing.

::fit::result< ::fidl::OneWayError> GetDevice (::fidl::Request< ::fuchsia_hardware_network::Port::GetDevice> request)

Connects to the [`Device`] this port belongs to.

+ request `device` grants access to the parent device.

::fit::result< ::fidl::OneWayError> Clone (::fidl::Request< ::fuchsia_hardware_network::Port::Clone> request)

Establishes a new connection to this port.

+ request `port` the server end for the new connection.

::fit::result< ::fidl::OneWayError> GetDiagnostics (::fidl::Request< ::fuchsia_hardware_network::Port::GetDiagnostics> request)

Grants access to [`Diagnostics`] for this port.

+ request `diagnostics` grants access to diagnostics information.