diff --git a/libraries/networking/src/HifiSockAddr.h b/libraries/networking/src/HifiSockAddr.h index e6f018413f..c66579eca1 100644 --- a/libraries/networking/src/HifiSockAddr.h +++ b/libraries/networking/src/HifiSockAddr.h @@ -79,14 +79,11 @@ struct std::hash { if (sockAddr.getAddress().protocol() == QAbstractSocket::IPv4Protocol) { return std::hash()((uint32_t) sockAddr.getAddress().toIPv4Address()) ^ std::hash()((uint16_t) sockAddr.getPort()); - } else if (sockAddr.getAddress().protocol() == QAbstractSocket::IPv6Protocol) { - // use XOR of implemented std::hash templates for new hash - return std::hash()(reinterpret_cast(sockAddr.getAddress().toIPv6Address().c)) - ^ std::hash()((uint16_t) sockAddr.getPort()); } else { + // NOTE: if we start to use IPv6 addresses, it's possible their hashing + // can be faster by XORing the hash for each 64 bits in the address return std::hash()(sockAddr.getAddress().toString().toStdString()) ^ std::hash()((uint16_t) sockAddr.getPort()); - } } };