mirror of
https://github.com/overte-org/overte.git
synced 2025-04-14 07:47:30 +02:00
Handle remote public-address changes
This commit is contained in:
parent
b96db7517c
commit
50965f1916
4 changed files with 19 additions and 14 deletions
|
@ -59,13 +59,13 @@ void NetworkPeer::setPublicSocket(const HifiSockAddr& publicSocket) {
|
|||
|
||||
bool wasOldSocketNull = _publicSocket.isNull();
|
||||
|
||||
auto temp = _publicSocket.objectName();
|
||||
auto previousSocket = _publicSocket;
|
||||
_publicSocket = publicSocket;
|
||||
_publicSocket.setObjectName(temp);
|
||||
_publicSocket.setObjectName(previousSocket.objectName());
|
||||
|
||||
if (!wasOldSocketNull) {
|
||||
qCDebug(networking) << "Public socket change for node" << *this;
|
||||
emit socketUpdated();
|
||||
qCDebug(networking) << "Public socket change for node" << *this << "; previously" << previousSocket;
|
||||
emit socketUpdated(previousSocket, _publicSocket);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -79,13 +79,13 @@ void NetworkPeer::setLocalSocket(const HifiSockAddr& localSocket) {
|
|||
|
||||
bool wasOldSocketNull = _localSocket.isNull();
|
||||
|
||||
auto temp = _localSocket.objectName();
|
||||
auto previousSocket = _localSocket;
|
||||
_localSocket = localSocket;
|
||||
_localSocket.setObjectName(temp);
|
||||
_localSocket.setObjectName(previousSocket.objectName());
|
||||
|
||||
if (!wasOldSocketNull) {
|
||||
qCDebug(networking) << "Local socket change for node" << *this;
|
||||
emit socketUpdated();
|
||||
qCDebug(networking) << "Local socket change for node" << *this << "; previously" << previousSocket;
|
||||
emit socketUpdated(previousSocket, _localSocket);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -99,13 +99,13 @@ void NetworkPeer::setSymmetricSocket(const HifiSockAddr& symmetricSocket) {
|
|||
|
||||
bool wasOldSocketNull = _symmetricSocket.isNull();
|
||||
|
||||
auto temp = _symmetricSocket.objectName();
|
||||
auto previousSocket = _symmetricSocket;
|
||||
_symmetricSocket = symmetricSocket;
|
||||
_symmetricSocket.setObjectName(temp);
|
||||
_symmetricSocket.setObjectName(previousSocket.objectName());
|
||||
|
||||
if (!wasOldSocketNull) {
|
||||
qCDebug(networking) << "Symmetric socket change for node" << *this;
|
||||
emit socketUpdated();
|
||||
qCDebug(networking) << "Symmetric socket change for node" << *this << "; previously" << previousSocket;
|
||||
emit socketUpdated(previousSocket, _symmetricSocket);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ public slots:
|
|||
signals:
|
||||
void pingTimerTimeout();
|
||||
void socketActivated(const HifiSockAddr& sockAddr);
|
||||
void socketUpdated();
|
||||
void socketUpdated(HifiSockAddr previousAddress, HifiSockAddr currentAddress);
|
||||
|
||||
protected:
|
||||
void setActiveSocket(HifiSockAddr* discoveredSocket);
|
||||
|
|
|
@ -538,6 +538,11 @@ void Socket::handleStateChanged(QAbstractSocket::SocketState socketState) {
|
|||
}
|
||||
}
|
||||
|
||||
void Socket::handleRemoteAddressChange(HifiSockAddr previousAddress, HifiSockAddr currentAddress) {
|
||||
Lock connectionsLock(_connectionsHashMutex);
|
||||
|
||||
}
|
||||
|
||||
#if (PR_BUILD || DEV_BUILD)
|
||||
|
||||
void Socket::sendFakedHandshakeRequest(const HifiSockAddr& sockAddr) {
|
||||
|
|
|
@ -106,11 +106,11 @@ private slots:
|
|||
|
||||
void handleSocketError(QAbstractSocket::SocketError socketError);
|
||||
void handleStateChanged(QAbstractSocket::SocketState socketState);
|
||||
void handleRemoteAddressChange(HifiSockAddr previousAddress, HifiSockAddr currentAddress);
|
||||
|
||||
private:
|
||||
void setSystemBufferSizes();
|
||||
Connection* findOrCreateConnection(const HifiSockAddr& sockAddr, bool filterCreation = false);
|
||||
bool socketMatchesNodeOrDomain(const HifiSockAddr& sockAddr);
|
||||
|
||||
// privatized methods used by UDTTest - they are private since they must be called on the Socket thread
|
||||
ConnectionStats::Stats sampleStatsForConnection(const HifiSockAddr& destination);
|
||||
|
|
Loading…
Reference in a new issue