mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 01:24:03 +02:00
added qDebug() check in SentPacketHistory for seq numbers
used (unsigned short int)1 instead of 1 when calculating expectedSequence
This commit is contained in:
parent
6e71523346
commit
8187912384
3 changed files with 12 additions and 9 deletions
|
@ -289,7 +289,7 @@ printf("\t\t tracked seq %hu\n", incomingSequence);
|
|||
const int MAX_REASONABLE_SEQUENCE_GAP = 1000; // this must be less than UINT16_RANGE / 2 for rollover handling to work
|
||||
const int MAX_MISSING_SEQUENCE_SIZE = 100;
|
||||
|
||||
unsigned short int expectedSequence = _totalPackets == 0 ? incomingSequence : _incomingLastSequence + 1;
|
||||
unsigned short int expectedSequence = _totalPackets == 0 ? incomingSequence : _incomingLastSequence + (unsigned short int)1;
|
||||
|
||||
if (incomingSequence == expectedSequence) { // on time
|
||||
_incomingLastSequence = incomingSequence;
|
||||
|
@ -346,8 +346,8 @@ printf("\t\t tracked seq %hu\n", incomingSequence);
|
|||
// will be removed.
|
||||
if (_missingSequenceNumbers.size() > MAX_MISSING_SEQUENCE_SIZE) {
|
||||
|
||||
// the acceptable range of older sequence numbers may contain a rollover point; this must be handled.
|
||||
// some sequence number in this list may be larger than _incomingLastSequence, indicating that they were received
|
||||
// some older sequence numbers may be from before a rollover point; this must be handled.
|
||||
// some sequence numbers in this list may be larger than _incomingLastSequence, indicating that they were received
|
||||
// before the most recent rollover.
|
||||
int cutoff = (int)_incomingLastSequence - MAX_REASONABLE_SEQUENCE_GAP;
|
||||
if (cutoff >= 0) {
|
||||
|
|
|
@ -9,22 +9,26 @@
|
|||
//
|
||||
|
||||
#include "SentPacketHistory.h"
|
||||
#include <qdebug.h>
|
||||
|
||||
SentPacketHistory::SentPacketHistory(int size)
|
||||
: _sentPackets(size),
|
||||
_newestPacketAt(0),
|
||||
_numExistingPackets(0),
|
||||
_newestSequenceNumber(0)
|
||||
_newestSequenceNumber(UINT16_MAX)
|
||||
{
|
||||
}
|
||||
|
||||
void SentPacketHistory::packetSent(uint16_t sequenceNumber, const QByteArray& packet) {
|
||||
|
||||
if (sequenceNumber != 0 && sequenceNumber != _newestSequenceNumber + 1) {
|
||||
printf("\t\tpacket history received unexpected seq number! prev: %hu received: %hu **************** \n", _newestSequenceNumber, sequenceNumber);
|
||||
// check if given seq number has the expected value. if not, something's wrong with
|
||||
// the code calling this function
|
||||
uint16_t expectedSequenceNumber = _newestSequenceNumber + (uint16_t)1;
|
||||
if (sequenceNumber != expectedSequenceNumber) {
|
||||
qDebug() << "Unexpected sequence number passed to SentPacketHistory::packetSent()!"
|
||||
<< "Expected:" << expectedSequenceNumber << "Actual:" << sequenceNumber;
|
||||
}
|
||||
|
||||
|
||||
_newestSequenceNumber = sequenceNumber;
|
||||
|
||||
// increment _newestPacketAt cyclically, insert new packet there.
|
||||
|
@ -36,7 +40,6 @@ void SentPacketHistory::packetSent(uint16_t sequenceNumber, const QByteArray& pa
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
const QByteArray* SentPacketHistory::getPacket(uint16_t sequenceNumber) const {
|
||||
|
||||
const int UINT16_RANGE = UINT16_MAX + 1;
|
||||
|
|
|
@ -34,7 +34,7 @@ OctreeEditPacketSender::OctreeEditPacketSender() :
|
|||
_maxPendingMessages(DEFAULT_MAX_PENDING_MESSAGES),
|
||||
_releaseQueuedMessagesPending(false),
|
||||
_serverJurisdictions(NULL),
|
||||
_sequenceNumber(0),
|
||||
_sequenceNumber(65500),
|
||||
_maxPacketSize(MAX_PACKET_SIZE) {
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue