mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 19:55:07 +02:00
Move DomainList timestamps to the extended header
And. Lag notifications now use signed values
This commit is contained in:
parent
9c39d06416
commit
1c6cf3df0d
2 changed files with 7 additions and 11 deletions
|
@ -1160,7 +1160,7 @@ void DomainServer::sendDomainListToNode(const SharedNodePointer& node, const Hif
|
|||
// this data is at the beginning of each of the domain list packets
|
||||
QByteArray extendedHeader(NUM_DOMAIN_LIST_EXTENDED_HEADER_BYTES, 0);
|
||||
QDataStream extendedHeaderStream(&extendedHeader, QIODevice::WriteOnly);
|
||||
|
||||
DomainServerNodeData* nodeData = static_cast<DomainServerNodeData*>(node->getLinkedData());
|
||||
auto limitedNodeList = DependencyManager::get<LimitedNodeList>();
|
||||
|
||||
extendedHeaderStream << limitedNodeList->getSessionUUID();
|
||||
|
@ -1169,17 +1169,13 @@ void DomainServer::sendDomainListToNode(const SharedNodePointer& node, const Hif
|
|||
extendedHeaderStream << node->getLocalID();
|
||||
extendedHeaderStream << node->getPermissions();
|
||||
extendedHeaderStream << limitedNodeList->getAuthenticatePackets();
|
||||
extendedHeaderStream << nodeData->getLastDomainCheckinTimestamp();
|
||||
extendedHeaderStream << usecTimestampNow();
|
||||
auto domainListPackets = NLPacketList::create(PacketType::DomainList, extendedHeader);
|
||||
|
||||
// always send the node their own UUID back
|
||||
QDataStream domainListStream(domainListPackets.get());
|
||||
|
||||
DomainServerNodeData* nodeData = static_cast<DomainServerNodeData*>(node->getLinkedData());
|
||||
|
||||
domainListStream << nodeData->getLastDomainCheckinTimestamp();
|
||||
|
||||
domainListStream << usecTimestampNow();
|
||||
|
||||
// store the nodeInterestSet on this DomainServerNodeData, in case it has changed
|
||||
auto& nodeInterestSet = nodeData->getNodeInterestSet();
|
||||
|
||||
|
|
|
@ -646,14 +646,14 @@ void NodeList::processDomainServerList(QSharedPointer<ReceivedMessage> message)
|
|||
packetStream >> isAuthenticated;
|
||||
|
||||
quint64 connectRequestTimestamp;
|
||||
quint64 now = usecTimestampNow();
|
||||
qint64 now = (qint64)usecTimestampNow();
|
||||
packetStream >> connectRequestTimestamp;
|
||||
quint64 pingLagTime = (now - connectRequestTimestamp) / USECS_PER_MSEC;
|
||||
qint64 pingLagTime = (now - (qint64)connectRequestTimestamp) / (qint64)USECS_PER_MSEC;
|
||||
quint64 domainServerPingReceiveTime;
|
||||
|
||||
packetStream >> domainServerPingReceiveTime;
|
||||
quint64 domainServerRequestLag = (domainServerPingReceiveTime - connectRequestTimestamp) / USECS_PER_MSEC;
|
||||
quint64 domainServerResponseLag = (now - domainServerPingReceiveTime) / USECS_PER_MSEC;
|
||||
qint64 domainServerRequestLag = ((qint64)domainServerPingReceiveTime - (qint64)connectRequestTimestamp) / (qint64)USECS_PER_MSEC;
|
||||
qint64 domainServerResponseLag = (now - (qint64)domainServerPingReceiveTime) / (qint64)USECS_PER_MSEC;
|
||||
|
||||
if (_domainHandler.getSockAddr().isNull()) {
|
||||
qWarning(networking) << "IGNORING DomainList packet while not connected to a Domain Server: sent " << pingLagTime << " msec ago.";
|
||||
|
|
Loading…
Reference in a new issue