Ping code cleanup

This commit is contained in:
Atlante45 2015-07-15 15:58:14 -07:00
parent a39610da09
commit f065638748
2 changed files with 14 additions and 23 deletions

View file

@ -437,43 +437,35 @@ SharedNodePointer LimitedNodeList::addOrUpdateNode(const QUuid& uuid, NodeType_t
std::unique_ptr<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);
pingPacket->writePrimitive(pingType);
pingPacket->writePrimitive(usecTimestampNow());
QDataStream packetStream(pingPacket.get()); return std::move(pingPacket);
packetStream << pingType;
packetStream << usecTimestampNow();
return pingPacket;
} }
std::unique_ptr<NLPacket> LimitedNodeList::constructPingReplyPacket(NLPacket& pingPacket) { std::unique_ptr<NLPacket> LimitedNodeList::constructPingReplyPacket(NLPacket& pingPacket) {
QDataStream pingPacketStream(&pingPacket);
PingType_t typeFromOriginalPing; PingType_t typeFromOriginalPing;
pingPacketStream >> typeFromOriginalPing;
quint64 timeFromOriginalPing; quint64 timeFromOriginalPing;
pingPacketStream >> timeFromOriginalPing; pingPacket.readPrimitive(&typeFromOriginalPing);
pingPacket.readPrimitive(&timeFromOriginalPing);
int packetSize = sizeof(PingType_t) + sizeof(quint64) + sizeof(quint64); int packetSize = sizeof(PingType_t) + sizeof(quint64) + sizeof(quint64);
auto replyPacket = NLPacket::create(PacketType::PingReply, packetSize); auto replyPacket = NLPacket::create(PacketType::PingReply, packetSize);
replyPacket->writePrimitive(typeFromOriginalPing);
replyPacket->writePrimitive(timeFromOriginalPing);
replyPacket->writePrimitive(usecTimestampNow());
QDataStream packetStream(replyPacket.get()); return std::move(replyPacket);
packetStream << typeFromOriginalPing << timeFromOriginalPing << usecTimestampNow();
return replyPacket;
} }
std::unique_ptr<NLPacket> LimitedNodeList::constructICEPingPacket(PingType_t pingType, const QUuid& iceID) { std::unique_ptr<NLPacket> LimitedNodeList::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->write(iceID.toRfc4122()); icePingPacket->write(iceID.toRfc4122());
icePingPacket->writePrimitive(pingType); icePingPacket->writePrimitive(pingType);
return icePingPacket; return std::move(icePingPacket);
} }
std::unique_ptr<NLPacket> LimitedNodeList::constructICEPingReplyPacket(NLPacket& pingPacket, const QUuid& iceID) { std::unique_ptr<NLPacket> LimitedNodeList::constructICEPingReplyPacket(NLPacket& pingPacket, const QUuid& iceID) {

View file

@ -125,12 +125,11 @@ qint64 NodeList::sendStatsToDomainServer(const QJsonObject& statsObject) {
} }
void NodeList::timePingReply(QSharedPointer<NLPacket> packet, const SharedNodePointer& sendingNode) { void NodeList::timePingReply(QSharedPointer<NLPacket> packet, const SharedNodePointer& sendingNode) {
QDataStream packetStream(packet.data()); PingType_t pingType;
quint8 pingType;
quint64 ourOriginalTime, othersReplyTime; quint64 ourOriginalTime, othersReplyTime;
packet->readPrimitive(&pingType);
packetStream >> pingType >> ourOriginalTime >> othersReplyTime; packet->readPrimitive(&ourOriginalTime);
packet->readPrimitive(&othersReplyTime);
quint64 now = usecTimestampNow(); quint64 now = usecTimestampNow();
int pingTime = now - ourOriginalTime; int pingTime = now - ourOriginalTime;