class Properties
Defined at line 19 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h
Move-only wrapper for fuchsia::net::interface::Properties that guarantees
that its inner |properties_| are valid and complete properties as reported by
|VerifyCompleteProperties|.
Public Methods
std::optional<Properties> VerifyAndCreate (fuchsia::net::interfaces::Properties properties)
Creates an |Properties| if |properties| are valid complete
properties as reported by |VerifyCompleteProperties|.
Defined at line 32 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
void Properties (Properties && interface)
Defined at line 43 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
Properties & operator= (Properties && interface)
Defined at line 45 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
uint64_t id ()
Defined at line 46 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h
void ~Properties ()
Defined at line 47 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
const ::std::string & name ()
Defined at line 47 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h
const fuchsia::net::interfaces::PortClass & port_class ()
Defined at line 48 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h
bool operator== (const Properties & rhs)
Defined at line 49 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
bool online ()
Defined at line 50 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h
bool has_default_ipv4_route ()
Defined at line 51 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h
bool has_default_ipv6_route ()
Defined at line 52 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h
bool Update (fuchsia::net::interfaces::Properties * properties)
Updates this instance with the values set in |properties|. Fields not set in |properties|
retain their previous values. Returns false if the |properties| has a missing or mismatched
|id| field, or if any field set in |properties| has an invalid value (e.g. an address that does
not actually contain an address).
|properties| will be modified such that it contains the previous values of all mutable fields
which changed upon return. This is useful when a user needs to know precisely how the addresses
field has changed as a result of the update. Note that in particular, the |id| field is
immutable and thus will not be present in |properties| upon return.
Defined at line 57 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
bool IsGloballyRoutable ()
Returns true iff the interface's properties indicate that it is globally routable.
This is defined as being an interface that is not loopback, is online, and either has an IPv4
address and a default IPv4 route or has a global unicast IPv6 address and a default IPv6 route.
Defined at line 103 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
bool is_loopback ()
Defined at line 53 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.cc
const ::std::vector<fuchsia::net::interfaces::Address> & addresses ()
Defined at line 53 of file ../../src/connectivity/network/lib/net_interfaces/cpp/net_interfaces.h