+bool Address::isZero() const
+{
+ if (m_addr_family == AF_INET) {
+ return m_address.ipv4.sin_addr.s_addr == 0;
+ } else if (m_addr_family == AF_INET6) {
+ static const char zero[16] = {0};
+ return memcmp(m_address.ipv6.sin6_addr.s6_addr,
+ zero, 16) == 0;
+ }
+ return false;
+}
+