add slightly more information to last packet debug in Socket

This commit is contained in:
Stephen Birarda 2016-10-27 22:10:32 -07:00
parent db7f5724f7
commit 20f042a15a
2 changed files with 9 additions and 3 deletions

View file

@ -309,7 +309,9 @@ void Socket::checkForReadyReadBackup() {
// so that birarda can possibly figure out how the heck we get into this state in the first place
// output the sequence number and socket address of the last processed packet
qCDebug(networking) << "Socket::checkForReadyReadyBackup() last sequence number"
<< (uint32_t) _lastReceivedSequenceNumber << "from" << _lastPacketSockAddr;
<< (uint32_t) _lastReceivedSequenceNumber << "from" << _lastPacketSockAddr << "-"
<< _lastPacketSizeRead << "bytes";
// drop all of the pending datagrams on the floor
while (_udpSocket.hasPendingDatagrams()) {
@ -339,6 +341,10 @@ void Socket::readPendingDatagrams() {
auto sizeRead = _udpSocket.readDatagram(buffer.get(), packetSizeWithHeader,
senderSockAddr.getAddressPointer(), senderSockAddr.getPortPointer());
// save information for this packet, in case it is the one that sticks readyRead
_lastPacketSizeRead = sizeRead;
_lastPacketSockAddr = senderSockAddr;
if (sizeRead <= 0) {
// we either didn't pull anything for this packet or there was an error reading (this seems to trigger
// on windows even if there's not a packet available)
@ -378,8 +384,7 @@ void Socket::readPendingDatagrams() {
auto packet = Packet::fromReceivedPacket(std::move(buffer), packetSizeWithHeader, senderSockAddr);
packet->setReceiveTime(receiveTime);
// save the sequence number and socket for this packet, in case this is the packet that sticks readyRead
_lastPacketSockAddr = senderSockAddr;
// save the sequence number in case this is the packet that sticks readyRead
_lastReceivedSequenceNumber = packet->getSequenceNumber();
// call our verification operator to see if this packet is verified

View file

@ -145,6 +145,7 @@ private:
bool _shouldChangeSocketOptions { true };
int _lastPacketSizeRead { 0 };
SequenceNumber _lastReceivedSequenceNumber;
HifiSockAddr _lastPacketSockAddr;