You've already forked lidgren-network-gen3
mirror of
https://github.com/lidgren/lidgren-network-gen3.git
synced 2026-05-17 07:36:32 +09:00
Fixed issue with recycling count and resent messages
This commit is contained in:
@@ -66,11 +66,12 @@ namespace Lidgren.Network
|
||||
//
|
||||
for (int i = 0; i < m_storedMessages.Length; i++)
|
||||
{
|
||||
NetOutgoingMessage om = m_storedMessages[i].Message;
|
||||
var storedMsg = m_storedMessages[i];
|
||||
NetOutgoingMessage om = storedMsg.Message;
|
||||
if (om == null)
|
||||
continue;
|
||||
|
||||
double t = m_storedMessages[i].LastSent;
|
||||
double t = storedMsg.LastSent;
|
||||
if (t > 0 && (now - t) > m_resendDelay)
|
||||
{
|
||||
// deduce sequence number
|
||||
@@ -89,7 +90,8 @@ namespace Lidgren.Network
|
||||
//m_connection.m_peer.LogVerbose("Resending due to delay #" + m_storedMessages[i].SequenceNumber + " " + om.ToString());
|
||||
m_connection.m_statistics.MessageResent(MessageResendReason.Delay);
|
||||
|
||||
m_connection.QueueSendMessage(om, m_storedMessages[i].SequenceNumber);
|
||||
Interlocked.Increment(ref om.m_recyclingCount); // increment this since it's being decremented in QueueSendMessage
|
||||
m_connection.QueueSendMessage(om, storedMsg.SequenceNumber);
|
||||
|
||||
m_storedMessages[i].LastSent = now;
|
||||
m_storedMessages[i].NumSent++;
|
||||
@@ -247,6 +249,7 @@ namespace Lidgren.Network
|
||||
m_storedMessages[slot].LastSent = now;
|
||||
m_storedMessages[slot].NumSent++;
|
||||
m_connection.m_statistics.MessageResent(MessageResendReason.HoleInSequence);
|
||||
Interlocked.Increment(ref rmsg.m_recyclingCount); // increment this since it's being decremented in QueueSendMessage
|
||||
m_connection.QueueSendMessage(rmsg, rnr);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user