class DeviceControl
Defined at line 509 of file fidling/gen/sdk/fidl/fuchsia.net.interfaces.admin/fuchsia.net.interfaces.admin/cpp/fidl/fuchsia.net.interfaces.admin/cpp/markers.h
Administrative control over an installed device on the network stack.
An instance of `DeviceControl` maps to an instance of
[`fuchsia.hardware.network/Session`]. All interfaces generated from a single
`DeviceControl` instance share the same `Session` and set of device buffers;
and are therefore subject to backpressure over the same pool of resources.
By the same measure, creating multiple `DeviceControl` instances attached to
the same underlying device causes data copies, because each `DeviceControl`
starts a new `Session`. For that reason, users should avoid creating
multiple `DeviceControl` instances for the same device and prefer
instantiating ports into interfaces from a single `DeviceControl` instance
per device.
This protocol encodes the underlying device's lifetime in both
directions; the device exists iff both ends of the protocol are open.
That is:
- Closing the client end causes the device to be removed, including all
interfaces created from it.
- Observing a closure of the server end indicates the device (and all
interfaces created from it) no longer exists.
Public Members
static Openness kOpenness