Struct NetworkInterface

Inheritance Relationships

Derived Types

Struct Documentation

struct NetworkInterface

Structure encapsulating relevant network interface information.

Note

When using this structure to interact with Fast-DDS, name is the only attribute the user needs to provide. The rest of the attributes are internally filled, and are in fact ignored even if already provided by the user.

Subclassed by eprosima::fastdds::rtps::BlockedNetworkInterface, eprosima::fastdds::rtps::NetworkInterfaceWithFilter

Public Functions

FASTDDS_EXPORTED_API NetworkInterface(const std::string &name)

Constructor by name.

FASTDDS_EXPORTED_API NetworkInterface(const std::string &device, const std::string &ip, const LocatorWithMask &locator)

Constructor by device name, IP address string and locator with mask.

virtual FASTDDS_EXPORTED_API ~NetworkInterface() = default

Destructor.

FASTDDS_EXPORTED_API NetworkInterface(const NetworkInterface &iface) = default

Copy constructor.

FASTDDS_EXPORTED_API NetworkInterface & operator= (const NetworkInterface &iface)=default

Copy assignment.

FASTDDS_EXPORTED_API NetworkInterface(NetworkInterface &&iface) = default

Move constructor.

FASTDDS_EXPORTED_API NetworkInterface & operator= (NetworkInterface &&iface)=default

Move assignment.

FASTDDS_EXPORTED_API bool operator== (const NetworkInterface &iface) const

Comparison operator.

Public Members

std::string name

Interface device name or IP address in string format (to be filled by the user)

std::string device

Interface device name.

std::string ip

IP address in string format (includes scope ID in the IPv6 case)

LocatorWithMask locator

IP address with network mask.