26 #if defined (ACE_HAS_IPV6) 27 # if defined (ACE_USES_IPV4_IPV6_MIGRATION) 30 # ifdef ACE_HAS_SOCKADDR_IN_SIN_LEN 35 # ifdef ACE_HAS_SOCKADDR_IN_SIN_LEN 42 # ifdef ACE_HAS_SOCKADDR_IN_SIN_LEN 49 # ifdef ACE_HAS_SOCKADDR_IN_SIN_LEN 70 #if defined (ACE_HAS_WCHAR) 93 #ifdef ACE_HAS_SOCKADDR_IN_SIN_LEN 97 #if defined (ACE_HAS_IPV6) 98 }
else if (in.in6_.sin6_family == AF_INET6) {
99 inet_addr_.in6_.sin6_family = in.in6_.sin6_family;
100 inet_addr_.in6_.sin6_port = in.in6_.sin6_port;
101 inet_addr_.in6_.sin6_flowinfo = in.in6_.sin6_flowinfo;
102 #ifdef ACE_HAS_SOCKADDR_IN_SIN_LEN 105 inet_addr_.in6_.sin6_addr = in.in6_.sin6_addr;
106 inet_addr_.in6_.sin6_scope_id = in.in6_.sin6_scope_id;
124 NetworkAddress::operator bool()
const 127 return *
this != empty;
133 return *
this == empty;
151 #if defined ACE_HAS_CPP11 153 return static_cast<size_t>(OpenDDS::DCPS::one_at_a_time_hash(reinterpret_cast<const uint8_t*>(&
inet_addr_),
sizeof(
inet_addr_), static_cast<uint32_t>(start_hash)));
161 #if defined (ACE_HAS_IPV6) 162 }
else if (
inet_addr_.in6_.sin6_family == AF_INET6 && rhs.
inet_addr_.in6_.sin6_family == AF_INET6) {
196 #if defined (ACE_HAS_IPV6) 197 }
else if (
inet_addr_.in6_.sin6_family == AF_INET6) {
208 #if defined (ACE_HAS_IPV6) 209 }
else if (
inet_addr_.in6_.sin6_family == AF_INET6) {
219 #if defined (ACE_HAS_IPV6) 220 }
else if (
inet_addr_.in6_.sin6_family == AF_INET6) {
221 if (IN6_IS_ADDR_UNSPECIFIED(&
inet_addr_.in6_.sin6_addr)) {
224 static const unsigned char buff[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0, 0, 0, 0 };
236 #if defined (ACE_HAS_IPV6) 237 }
else if (
inet_addr_.in6_.sin6_family == AF_INET6) {
238 return IN6_IS_ADDR_LOOPBACK(&
inet_addr_.in6_.sin6_addr);
248 #if defined (ACE_HAS_IPV6) 249 }
else if (
inet_addr_.in6_.sin6_family == AF_INET6) {
250 return this->
inet_addr_.in6_.sin6_addr.s6_addr[0] == 0xFF;
269 #if defined (ACE_HAS_IPV6) 270 if (
inet_addr_.in6_.sin6_family == AF_INET6) {
271 return (
inet_addr_.in6_.sin6_addr.s6_addr[0] & 0xFE) == 0xFC;
279 #if defined (ACE_HAS_IPV6) 280 if (
inet_addr_.in6_.sin6_family == AF_INET6) {
281 return IN6_IS_ADDR_LINKLOCAL(&
inet_addr_.in6_.sin6_addr);
289 #if defined (ACE_HAS_IPV6) 290 if (
inet_addr_.in6_.sin6_family == AF_INET6) {
291 return IN6_IS_ADDR_SITELOCAL(&
inet_addr_.in6_.sin6_addr);
307 if (incoming.
get_type() == AF_INET6) {
323 }
else if (current.
get_type() == AF_INET6) {
356 #if defined ACE_HAS_CPP11 357 size_t calculate_hash(
const AddrSet& addrs,
size_t start_hash)
359 size_t result = start_hash;
360 for (AddrSet::const_iterator it = addrs.begin(), limit = addrs.end(); it != limit; ++it) {
361 result = it->hash(result);
ACE_INT16 get_type() const
ACE_INET_Addr to_addr() const
int hash(const std::vector< const DDS::OctetSeq *> &src, DDS::OctetSeq &dst)
bool addr_bytes_equal(const NetworkAddress &rhs) const
bool is_uniquelocal() const
bool operator==(const NetworkAddress &rhs) const
bool operator!=(const NetworkAddress &rhs) const
bool is_more_local(const NetworkAddress ¤t, const NetworkAddress &incoming)
NetworkAddress & operator=(const NetworkAddress &rhs)
bool operator<(const NetworkAddress &rhs) const
void set_type(ACE_INT16 type)
ACE_UINT16 get_port_number() const
virtual void * get_addr(void) const
bool is_sitelocal() const
bool is_linklocal() const
int memcmp(const void *t, const void *s, size_t len)
virtual void set_addr(const void *, int len)
void set_port_number(ACE_UINT16 port)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
bool is_multicast() const
The Internal API and Implementation of OpenDDS.
union OpenDDS::DCPS::NetworkAddress::ip46 inet_addr_