From e685d2457ca4bc6ffef3c70e750553f60e7f5b4c Mon Sep 17 00:00:00 2001 From: lidgren Date: Fri, 18 Jan 2013 19:18:31 +0000 Subject: [PATCH] Patch by eliseegw to make resending more robust --- Lidgren.Network/NetReliableSenderChannel.cs | 7 +++++-- Lidgren.Network/NetStoredReliableMessage.cs | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Lidgren.Network/NetReliableSenderChannel.cs b/Lidgren.Network/NetReliableSenderChannel.cs index 0ddd676..375f1d2 100644 --- a/Lidgren.Network/NetReliableSenderChannel.cs +++ b/Lidgren.Network/NetReliableSenderChannel.cs @@ -76,6 +76,7 @@ namespace Lidgren.Network if (t > 0 && (now - t) > m_resendDelay) { // deduce sequence number + /* int startSlot = m_windowStart % m_windowSize; int seqNr = m_windowStart; while (startSlot != i) @@ -85,11 +86,12 @@ namespace Lidgren.Network startSlot = m_windowSize - 1; seqNr--; } + */ - //m_connection.m_peer.LogVerbose("Resending due to delay #" + seqNr + " " + om.ToString()); + //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, seqNr); + m_connection.QueueSendMessage(om, m_storedMessages[i].SequenceNumber); m_storedMessages[i].LastSent = now; m_storedMessages[i].NumSent++; @@ -124,6 +126,7 @@ namespace Lidgren.Network m_storedMessages[storeIndex].NumSent++; m_storedMessages[storeIndex].Message = message; m_storedMessages[storeIndex].LastSent = now; + m_storedMessages[storeIndex].SequenceNumber = seqNr; return; } diff --git a/Lidgren.Network/NetStoredReliableMessage.cs b/Lidgren.Network/NetStoredReliableMessage.cs index b98bf5e..8f0d2b2 100644 --- a/Lidgren.Network/NetStoredReliableMessage.cs +++ b/Lidgren.Network/NetStoredReliableMessage.cs @@ -7,6 +7,7 @@ namespace Lidgren.Network public int NumSent; public float LastSent; public NetOutgoingMessage Message; + public int SequenceNumber; public void Reset() {