From f673ab316a4b0d765e3483248fa74740b7ecb073 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 3 Oct 2014 15:06:27 -0700 Subject: [PATCH 1/3] tell the data-server about auto networking change to full --- domain-server/src/DomainServer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index c950d2f8b6..2a7c818125 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -359,6 +359,9 @@ void DomainServer::setupAutomaticNetworking() { // call our sendHeartbeaToIceServer immediately anytime a public address changes connect(nodeList, &LimitedNodeList::publicSockAddrChanged, this, &DomainServer::sendHearbeatToIceServer); + + // tell the data server which type of automatic networking we are using + updateNetworkingInfoWithDataServer(automaticNetworkValue); } // attempt to update our sockets now From 4e0bb94cdd69f703d38d3ddfc5639042aef9a1b1 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 3 Oct 2014 15:25:47 -0700 Subject: [PATCH 2/3] fix for double ICE connect attempts from domain-server --- domain-server/src/DomainServer.cpp | 12 +++++++----- libraries/networking/src/NetworkPeer.cpp | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index 2a7c818125..452d9d35b7 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -1027,7 +1027,7 @@ void DomainServer::sendICEPingPackets() { } else { // send ping packets to this peer's interfaces qDebug() << "Sending ping packets to establish connectivity with ICE peer with ID" - << peer->getUUID(); + << peer->getUUID(); // send the ping packet to the local and public sockets for this node QByteArray localPingPacket = nodeList->constructPingPacket(PingType::Local, false); @@ -1055,11 +1055,13 @@ void DomainServer::processICEHeartbeatResponse(const QByteArray& packet) { while (!iceResponseStream.atEnd()) { iceResponseStream >> receivedPeer; - if (!_connectingICEPeers.contains(receivedPeer.getUUID()) && !_connectedICEPeers.contains(receivedPeer.getUUID())) { - qDebug() << "New peer requesting connection being added to hash -" << receivedPeer; + if (!_connectedICEPeers.contains(receivedPeer.getUUID())) { + if (!_connectingICEPeers.contains(receivedPeer.getUUID())) { + qDebug() << "New peer requesting connection being added to hash -" << receivedPeer; + } + + _connectingICEPeers[receivedPeer.getUUID()] = receivedPeer; } - - _connectingICEPeers[receivedPeer.getUUID()] = receivedPeer; } } diff --git a/libraries/networking/src/NetworkPeer.cpp b/libraries/networking/src/NetworkPeer.cpp index d458f579c1..eaaf57471c 100644 --- a/libraries/networking/src/NetworkPeer.cpp +++ b/libraries/networking/src/NetworkPeer.cpp @@ -46,6 +46,7 @@ NetworkPeer::NetworkPeer(const NetworkPeer& otherPeer) { _wakeTimestamp = otherPeer._wakeTimestamp; _lastHeardMicrostamp = otherPeer._lastHeardMicrostamp; + _connectionAttempts = otherPeer._connectionAttempts; } NetworkPeer& NetworkPeer::operator=(const NetworkPeer& otherPeer) { @@ -62,6 +63,7 @@ void NetworkPeer::swap(NetworkPeer& otherPeer) { swap(_localSocket, otherPeer._localSocket); swap(_wakeTimestamp, otherPeer._wakeTimestamp); swap(_lastHeardMicrostamp, otherPeer._lastHeardMicrostamp); + swap(_connectionAttempts, otherPeer._connectionAttempts); } QByteArray NetworkPeer::toByteArray() const { From 8ce474d3e14aa36b1508c2926cdc5b732202e5cd Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 3 Oct 2014 15:29:16 -0700 Subject: [PATCH 3/3] make the ice server const scoped to remove warning --- domain-server/src/DomainServer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index 452d9d35b7..61310cad75 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -1002,7 +1002,6 @@ void DomainServer::updateNetworkingInfoWithDataServer(const QString& newSetting, } // todo: have data-web respond with ice-server hostname to use -const HifiSockAddr ICE_SERVER_SOCK_ADDR = HifiSockAddr("ice.highfidelity.io", ICE_SERVER_DEFAULT_PORT); void DomainServer::performICEUpdates() { sendHearbeatToIceServer(); @@ -1010,6 +1009,7 @@ void DomainServer::performICEUpdates() { } void DomainServer::sendHearbeatToIceServer() { + const HifiSockAddr ICE_SERVER_SOCK_ADDR = HifiSockAddr("ice.highfidelity.io", ICE_SERVER_DEFAULT_PORT); LimitedNodeList::getInstance()->sendHeartbeatToIceServer(ICE_SERVER_SOCK_ADDR); }