Class IPLocator
Defined in File IPLocator.h
Class Documentation
-
class IPLocator
Class IPLocator, to provide helper functions to the IP based transports.
Public Static Functions
- static RTPS_DllAPI void createLocator (int32_t kindin, const std::string &address, uint32_t portin, Locator_t &locator)
Fills locator with the given parameters.
- Parameters
kindin – Kind of the locator.
address – IP Address of the locator as string.
portin – Port of the locator.
locator – Locator to be filled.
- static RTPS_DllAPI bool setIPv4 (Locator_t &locator, const unsigned char *addr)
Sets locator’s IPv4.
- static RTPS_DllAPI bool setIPv4 (Locator_t &locator, octet o1, octet o2, octet o3, octet o4)
Sets locator’s IPv4.
- static RTPS_DllAPI bool setIPv4 (Locator_t &locator, const std::string &ipv4)
Sets locator’s IPv4.
- static RTPS_DllAPI bool setIPv4 (Locator_t &destlocator, const Locator_t &origlocator)
Copies locator’s IPv4.
- static RTPS_DllAPI bool setIPv4address (Locator_t &destlocator, const std::string &lan, const std::string &wan, const std::string &ipv4)
Copies locator’s IPv4.
- static RTPS_DllAPI const octet * getIPv4 (const Locator_t &locator)
Retrieves locator’s IPv4 as octet array.
- static RTPS_DllAPI bool hasIPv4 (const Locator_t &locator)
Check if the locator has IPv4.
- static RTPS_DllAPI std::string toIPv4string (const Locator_t &locator)
Returns a string representation of the locator’s IPv4.
- static RTPS_DllAPI bool copyIPv4 (const Locator_t &locator, unsigned char *dest)
Copies locator’s IPv4.
- static RTPS_DllAPI bool setIPv6 (Locator_t &locator, const unsigned char *addr)
Sets locator’s IPv6.
- static RTPS_DllAPI bool setIPv6 (Locator_t &locator, uint16_t group0, uint16_t group1, uint16_t group2, uint16_t group3, uint16_t group4, uint16_t group5, uint16_t group6, uint16_t group7)
Sets locator’s IPv6.
- static RTPS_DllAPI bool setIPv6 (Locator_t &locator, const std::string &ipv6)
Sets locator’s IPv6.
- static RTPS_DllAPI bool setIPv6 (Locator_t &destlocator, const Locator_t &origlocator)
Copies locator’s IPv6.
- static RTPS_DllAPI const octet * getIPv6 (const Locator_t &locator)
Retrieves locator’s IPv6 as octet array.
- static RTPS_DllAPI bool hasIPv6 (const Locator_t &locator)
Check if the locator has IPv6.
- static RTPS_DllAPI std::string toIPv6string (const Locator_t &locator)
Returns a string representation of the locator’s IPv6 following RFC 5952 recommendation.
- static RTPS_DllAPI bool copyIPv6 (const Locator_t &locator, unsigned char *dest)
Copies locator’s IPv6.
- static RTPS_DllAPI bool ip (Locator_t &locator, const std::string &ip)
Sets locator’s IP.
- static RTPS_DllAPI std::string ip_to_string (const Locator_t &locator)
Returns a string representation of the locator’s IP.
- static RTPS_DllAPI bool setLogicalPort (Locator_t &locator, uint16_t port)
Sets locator’s logical port (as in RTCP protocol)
- static RTPS_DllAPI uint16_t getLogicalPort (const Locator_t &locator)
Gets locator’s logical port (as in RTCP protocol)
- static RTPS_DllAPI bool setPhysicalPort (Locator_t &locator, uint16_t port)
Sets locator’s physical port (as in RTCP protocol)
- static RTPS_DllAPI uint16_t getPhysicalPort (const Locator_t &locator)
Gets locator’s physical port (as in RTCP protocol)
- static RTPS_DllAPI bool setWan (Locator_t &locator, octet o1, octet o2, octet o3, octet o4)
Sets locator’s WAN address (as in RTCP protocol)
- static RTPS_DllAPI bool setWan (Locator_t &locator, const std::string &wan)
Sets locator’s WAN address (as in RTCP protocol)
- static RTPS_DllAPI const octet * getWan (const Locator_t &locator)
Gets locator’s WAN address (as in RTCP protocol)
- static RTPS_DllAPI bool hasWan (const Locator_t &locator)
Checks if the locator has WAN address (as in RTCP protocol)
- static RTPS_DllAPI std::string toWanstring (const Locator_t &locator)
Retrieves a string representation of the locator’s WAN address (as in RTCP protocol)
- static RTPS_DllAPI bool setLanID (Locator_t &locator, const std::string &lanId)
Sets locator’s LAN ID (as in RTCP protocol)
- static RTPS_DllAPI const octet * getLanID (const Locator_t &locator)
Gets locator’s LAN ID (as in RTCP protocol)
- static RTPS_DllAPI std::string toLanIDstring (const Locator_t &locator)
Retrieves a string representation of the locator’s LAN ID (as in RTCP protocol)
- static RTPS_DllAPI Locator_t toPhysicalLocator (const Locator_t &locator)
Returns a new locator without logical port (as in RTCP protocol).
- static RTPS_DllAPI bool ip_equals_wan (const Locator_t &locator)
Checks if a locator WAN address and IP address are the same (as in RTCP protocol).
- static RTPS_DllAPI bool setPortRTPS (Locator_t &locator, uint16_t port)
Sets locator’s RTCP port. Physical for UDP and logical for TCP (as in RTCP protocol)
- static RTPS_DllAPI uint16_t getPortRTPS (Locator_t &locator)
Gets locator’s RTCP port. Physical for UDP and logical for TCP (as in RTCP protocol)
- static RTPS_DllAPI bool isLocal (const Locator_t &locator)
Checks if a locator has local IP address.
- static RTPS_DllAPI bool isAny (const Locator_t &locator)
Checks if a locator has any IP address.
- static RTPS_DllAPI bool compareAddress (const Locator_t &loc1, const Locator_t &loc2, bool fullAddress=false)
Checks if both locators has the same IP address.
- static RTPS_DllAPI bool compareAddressAndPhysicalPort (const Locator_t &loc1, const Locator_t &loc2)
Checks if a both locators has the same IP address and physical port (as in RTCP protocol).
- static RTPS_DllAPI std::string to_string (const Locator_t &locator)
Returns a string representation of the given locator.
- static RTPS_DllAPI bool isMulticast (const Locator_t &locator)
Checks if the locator has a multicast IP address.
- static RTPS_DllAPI std::pair< std::set< std::string >, std::set< std::string > > resolveNameDNS (const std::string &address_name)
Resolve an address name by a DNS request and return the IP that this address references by a DNS server.
- static RTPS_DllAPI bool isIPv4 (const std::string &address)
Check whether a string contains an IPv4 format.
- static RTPS_DllAPI bool isIPv6 (const std::string &address)
Check whether a string contains an IPv6 format.