summaryrefslogtreecommitdiff
path: root/indra/llmessage
diff options
context:
space:
mode:
authorDave SIMmONs <simon@lindenlab.com>2011-01-19 12:54:05 -0800
committerDave SIMmONs <simon@lindenlab.com>2011-01-19 12:54:05 -0800
commitf91a9c87e5e758ecd32111d901ff32d282b73fa7 (patch)
tree426af3ba9eb6e1ae93b7b4178e154b28856914b7 /indra/llmessage
parentb2e4486cf2070e33a9aa6f8cec1a08d93565e52b (diff)
ER-428 / CTS-422 : [PUBLIC] movement updates are lost when walking. Changed code to detect if the circuit has stopped getting packets. Reviewed by Andrew
Diffstat (limited to 'indra/llmessage')
-rw-r--r--indra/llmessage/llcircuit.cpp3
-rw-r--r--indra/llmessage/llcircuit.h4
2 files changed, 6 insertions, 1 deletions
diff --git a/indra/llmessage/llcircuit.cpp b/indra/llmessage/llcircuit.cpp
index 3ba2dfb104..e0410906fb 100644
--- a/indra/llmessage/llcircuit.cpp
+++ b/indra/llmessage/llcircuit.cpp
@@ -87,6 +87,7 @@ LLCircuitData::LLCircuitData(const LLHost &host, TPACKETID in_id,
mPingDelayAveraged((F32)INITIAL_PING_VALUE_MSEC),
mUnackedPacketCount(0),
mUnackedPacketBytes(0),
+ mLastPacketInTime(0.0),
mLocalEndPointID(),
mPacketsOut(0),
mPacketsIn(0),
@@ -667,6 +668,8 @@ void LLCircuitData::checkPacketInID(TPACKETID id, BOOL receive_resent)
mHighestPacketID = llmax(mHighestPacketID, id);
}
+ // Save packet arrival time
+ mLastPacketInTime = LLMessageSystem::getMessageTimeSeconds();
// Have we received anything on this circuit yet?
if (0 == mPacketsIn)
diff --git a/indra/llmessage/llcircuit.h b/indra/llmessage/llcircuit.h
index 874c0c0bee..d1c400c6a2 100644
--- a/indra/llmessage/llcircuit.h
+++ b/indra/llmessage/llcircuit.h
@@ -122,7 +122,7 @@ public:
U32 getPacketsLost() const;
TPACKETID getPacketOutID() const;
BOOL getTrusted() const;
- F32 getAgeInSeconds() const;
+ F32 getAgeInSeconds() const;
S32 getUnackedPacketCount() const { return mUnackedPacketCount; }
S32 getUnackedPacketBytes() const { return mUnackedPacketBytes; }
F64 getNextPingSendTime() const { return mNextPingSendTime; }
@@ -130,6 +130,7 @@ public:
{ return mOutOfOrderRate.meanValue(scale); }
U32 getLastPacketGap() const { return mLastPacketGap; }
LLHost getHost() const { return mHost; }
+ F64 getLastPacketInTime() const { return mLastPacketInTime; }
LLThrottleGroup &getThrottleGroup() { return mThrottles; }
@@ -248,6 +249,7 @@ protected:
S32 mUnackedPacketCount;
S32 mUnackedPacketBytes;
+ F64 mLastPacketInTime; // Time of last packet arrival
LLUUID mLocalEndPointID;