template <>

class WireServer

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

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_hardware_network::Port>|

and |::fidl::ServerEnd

<

::fuchsia_hardware_network::Port>|).

Public Methods

void GetInfo (GetInfoCompleter::Sync & completer)

Obtain information about port.

- response `info` port information.

void GetStatus (GetStatusCompleter::Sync & completer)

Obtain the operating port status.

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

void GetStatusWatcher (::fuchsia_hardware_network::wire::PortGetStatusWatcherRequest * request, GetStatusWatcherCompleter::Sync & completer)

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.

void GetMac (::fuchsia_hardware_network::wire::PortGetMacRequest * request, GetMacCompleter::Sync & completer)

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.

void GetDevice (::fuchsia_hardware_network::wire::PortGetDeviceRequest * request, GetDeviceCompleter::Sync & completer)

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

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

void Clone (::fuchsia_hardware_network::wire::PortCloneRequest * request, CloneCompleter::Sync & completer)

Establishes a new connection to this port.

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

void GetCounters (GetCountersCompleter::Sync & completer)

Retrieves a snapshot of traffic counters on this port.

void GetDiagnostics (::fuchsia_hardware_network::wire::PortGetDiagnosticsRequest * request, GetDiagnosticsCompleter::Sync & completer)

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

+ request `diagnostics` grants access to diagnostics information.

void GetIdentity (GetIdentityCompleter::Sync & completer)

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.

void WireServer ()

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

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~WireServer ()

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