mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 12:12:32 +02:00
fix ping methods in LNL
This commit is contained in:
parent
eac3a2a640
commit
5728cf5056
1 changed files with 14 additions and 14 deletions
|
@ -521,11 +521,11 @@ SharedNodePointer LimitedNodeList::addOrUpdateNode(const QUuid& uuid, NodeType_t
|
||||||
// return n;
|
// return n;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
NLPacket&& LimitedNodeList::constructPingPacket(PingType_t pingType) {
|
std::unique_ptr<NLPacket> LimitedNodeList::constructPingPacket(PingType_t pingType) {
|
||||||
int packetSize = sizeof(PingType_t) + sizeof(quint64);
|
int packetSize = sizeof(PingType_t) + sizeof(quint64);
|
||||||
auto pingPacket { NLPacket::create(PacketType::Ping, packetSize); }
|
auto pingPacket = NLPacket::create(PacketType::Ping, packetSize);
|
||||||
|
|
||||||
QDataStream packetStream(&pingPacket.payload(), QIODevice::Append);
|
QDataStream packetStream(&pingPacket);
|
||||||
|
|
||||||
packetStream << pingType;
|
packetStream << pingType;
|
||||||
packetStream << usecTimestampNow();
|
packetStream << usecTimestampNow();
|
||||||
|
@ -533,7 +533,7 @@ NLPacket&& LimitedNodeList::constructPingPacket(PingType_t pingType) {
|
||||||
return pingPacket;
|
return pingPacket;
|
||||||
}
|
}
|
||||||
|
|
||||||
NLPacket&& LimitedNodeList::constructPingReplyPacket(const QByteArray& pingPacket) {
|
std::unique_ptr<NLPacket> LimitedNodeList::constructPingReplyPacket(const QByteArray& pingPacket) {
|
||||||
QDataStream pingPacketStream(pingPacket);
|
QDataStream pingPacketStream(pingPacket);
|
||||||
pingPacketStream.skipRawData(numBytesForPacketHeader(pingPacket));
|
pingPacketStream.skipRawData(numBytesForPacketHeader(pingPacket));
|
||||||
|
|
||||||
|
@ -545,37 +545,37 @@ NLPacket&& LimitedNodeList::constructPingReplyPacket(const QByteArray& pingPacke
|
||||||
|
|
||||||
int packetSize = sizeof(PingType_t) + sizeof(quint64) + sizeof(quint64);
|
int packetSize = sizeof(PingType_t) + sizeof(quint64) + sizeof(quint64);
|
||||||
|
|
||||||
auto replyPacket { NLPacket::create(PacketType::Ping, packetSize); }
|
auto replyPacket = NLPacket::create(PacketType::Ping, packetSize);
|
||||||
|
|
||||||
QDataStream packetStream(&replyPacket, QIODevice::Append);
|
QDataStream packetStream(&replyPacket);
|
||||||
packetStream << typeFromOriginalPing << timeFromOriginalPing << usecTimestampNow();
|
packetStream << typeFromOriginalPing << timeFromOriginalPing << usecTimestampNow();
|
||||||
|
|
||||||
return replyPacket;
|
return replyPacket;
|
||||||
}
|
}
|
||||||
|
|
||||||
NLPacket&& constructICEPingPacket(PingType_t pingType, const QUuid& iceID) {
|
std::unique_ptr<NLPacket> constructICEPingPacket(PingType_t pingType, const QUuid& iceID) {
|
||||||
int packetSize = NUM_BYTES_RFC4122_UUID + sizeof(PingType_t);
|
int packetSize = NUM_BYTES_RFC4122_UUID + sizeof(PingType_t);
|
||||||
|
|
||||||
auto icePingPacket { NLPacket::create(PacketType::ICEPing, packetSize); }
|
auto icePingPacket = NLPacket::create(PacketType::ICEPing, packetSize);
|
||||||
|
|
||||||
icePingPacket.payload().replace(0, NUM_BYTES_RFC4122_UUID, iceID.toRfc4122().data());
|
icePingPacket->write(iceID.toRfc4122());
|
||||||
memcpy(icePingPacket.payload() + NUM_BYTES_RFC4122_UUID, &pingType, sizeof(PingType_t));
|
icePingPacket->write(&pingType, sizeof(pingType));
|
||||||
|
|
||||||
return icePingPacket;
|
return icePingPacket;
|
||||||
}
|
}
|
||||||
|
|
||||||
NLPacket&& constructICEPingReplyPacket(const QByteArray& pingPacket, const QUuid& iceID) {
|
std::unique_ptr<NLPacket> constructICEPingReplyPacket(const QByteArray& pingPacket, const QUuid& iceID) {
|
||||||
// pull out the ping type so we can reply back with that
|
// pull out the ping type so we can reply back with that
|
||||||
PingType_t pingType;
|
PingType_t pingType;
|
||||||
|
|
||||||
memcpy(&pingType, pingPacket.data() + NUM_BYTES_RFC4122_UUID, sizeof(PingType_t));
|
memcpy(&pingType, pingPacket.data() + NUM_BYTES_RFC4122_UUID, sizeof(PingType_t));
|
||||||
|
|
||||||
int packetSize = NUM_BYTES_RFC4122_UUID + sizeof(PingType_t);
|
int packetSize = NUM_BYTES_RFC4122_UUID + sizeof(PingType_t);
|
||||||
auto icePingReplyPacket { NLPacket::create(PacketType::ICEPingReply, packetSize); }
|
auto icePingReplyPacket = NLPacket::create(PacketType::ICEPingReply, packetSize);
|
||||||
|
|
||||||
// pack the ICE ID and then the ping type
|
// pack the ICE ID and then the ping type
|
||||||
memcpy(icePingReplyPacket.payload(), iceID.toRfc4122().data(), NUM_BYTES_RFC4122_UUID);
|
icePingReplyPacket->write(iceID.toRfc4122());
|
||||||
memcpy(icePingReplyPacket.payload() + NUM_BYTES_RFC4122_UUID, &pingType, sizeof(PingType_t));
|
icePingReplyPacket->write(&pingType, sizeof(pingType));
|
||||||
|
|
||||||
return icePingReplyPacket;
|
return icePingReplyPacket;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue