mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 08:23:04 +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_REASONABLE_SEQUENCE_GAP = 1000; // this must be less than UINT16_RANGE / 2 for rollover handling to work
|
||||||
const int MAX_MISSING_SEQUENCE_SIZE = 100;
|
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
|
if (incomingSequence == expectedSequence) { // on time
|
||||||
_incomingLastSequence = incomingSequence;
|
_incomingLastSequence = incomingSequence;
|
||||||
|
@ -346,8 +346,8 @@ printf("\t\t tracked seq %hu\n", incomingSequence);
|
||||||
// will be removed.
|
// will be removed.
|
||||||
if (_missingSequenceNumbers.size() > MAX_MISSING_SEQUENCE_SIZE) {
|
if (_missingSequenceNumbers.size() > MAX_MISSING_SEQUENCE_SIZE) {
|
||||||
|
|
||||||
// the acceptable range of older sequence numbers may contain a rollover point; this must be handled.
|
// some older sequence numbers may be from before a rollover point; this must be handled.
|
||||||
// some sequence number in this list may be larger than _incomingLastSequence, indicating that they were received
|
// some sequence numbers in this list may be larger than _incomingLastSequence, indicating that they were received
|
||||||
// before the most recent rollover.
|
// before the most recent rollover.
|
||||||
int cutoff = (int)_incomingLastSequence - MAX_REASONABLE_SEQUENCE_GAP;
|
int cutoff = (int)_incomingLastSequence - MAX_REASONABLE_SEQUENCE_GAP;
|
||||||
if (cutoff >= 0) {
|
if (cutoff >= 0) {
|
||||||
|
|
|
@ -9,22 +9,26 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "SentPacketHistory.h"
|
#include "SentPacketHistory.h"
|
||||||
|
#include <qdebug.h>
|
||||||
|
|
||||||
SentPacketHistory::SentPacketHistory(int size)
|
SentPacketHistory::SentPacketHistory(int size)
|
||||||
: _sentPackets(size),
|
: _sentPackets(size),
|
||||||
_newestPacketAt(0),
|
_newestPacketAt(0),
|
||||||
_numExistingPackets(0),
|
_numExistingPackets(0),
|
||||||
_newestSequenceNumber(0)
|
_newestSequenceNumber(UINT16_MAX)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void SentPacketHistory::packetSent(uint16_t sequenceNumber, const QByteArray& packet) {
|
void SentPacketHistory::packetSent(uint16_t sequenceNumber, const QByteArray& packet) {
|
||||||
|
|
||||||
if (sequenceNumber != 0 && sequenceNumber != _newestSequenceNumber + 1) {
|
// check if given seq number has the expected value. if not, something's wrong with
|
||||||
printf("\t\tpacket history received unexpected seq number! prev: %hu received: %hu **************** \n", _newestSequenceNumber, sequenceNumber);
|
// 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;
|
_newestSequenceNumber = sequenceNumber;
|
||||||
|
|
||||||
// increment _newestPacketAt cyclically, insert new packet there.
|
// 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 QByteArray* SentPacketHistory::getPacket(uint16_t sequenceNumber) const {
|
||||||
|
|
||||||
const int UINT16_RANGE = UINT16_MAX + 1;
|
const int UINT16_RANGE = UINT16_MAX + 1;
|
||||||
|
|
|
@ -34,7 +34,7 @@ OctreeEditPacketSender::OctreeEditPacketSender() :
|
||||||
_maxPendingMessages(DEFAULT_MAX_PENDING_MESSAGES),
|
_maxPendingMessages(DEFAULT_MAX_PENDING_MESSAGES),
|
||||||
_releaseQueuedMessagesPending(false),
|
_releaseQueuedMessagesPending(false),
|
||||||
_serverJurisdictions(NULL),
|
_serverJurisdictions(NULL),
|
||||||
_sequenceNumber(0),
|
_sequenceNumber(65500),
|
||||||
_maxPacketSize(MAX_PACKET_SIZE) {
|
_maxPacketSize(MAX_PACKET_SIZE) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue