diff --git a/Lidgren.Network/NetConnection.Handshake.cs b/Lidgren.Network/NetConnection.Handshake.cs index 8a2e421..579de68 100644 --- a/Lidgren.Network/NetConnection.Handshake.cs +++ b/Lidgren.Network/NetConnection.Handshake.cs @@ -295,8 +295,8 @@ namespace Lidgren.Network appMsg.m_senderEndpoint = this.m_remoteEndpoint; if (m_remoteHailMessage != null) appMsg.Write(m_remoteHailMessage.m_data, 0, m_remoteHailMessage.LengthBytes); - m_peer.ReleaseMessage(appMsg); SetStatus(NetConnectionStatus.RespondedAwaitingApproval, "Awaiting approval"); + m_peer.ReleaseMessage(appMsg); return; } diff --git a/Lidgren.Network/NetReliableSenderChannel.cs b/Lidgren.Network/NetReliableSenderChannel.cs index 3fbd58b..ce24fc4 100644 --- a/Lidgren.Network/NetReliableSenderChannel.cs +++ b/Lidgren.Network/NetReliableSenderChannel.cs @@ -169,6 +169,8 @@ namespace Lidgren.Network { //m_connection.m_peer.LogDebug("Using early ack for #" + m_windowStart + "..."); m_receivedAcks[m_windowStart] = false; + DestoreMessage(m_windowStart % m_windowSize); + NetException.Assert(m_storedMessages[m_windowStart % m_windowSize].Message == null); // should already be destored m_windowStart = (m_windowStart + 1) % NetConstants.NumSequenceNumbers; //m_connection.m_peer.LogDebug("Advancing window to #" + m_windowStart); @@ -196,13 +198,13 @@ namespace Lidgren.Network } else { - DestoreMessage(seqNr % m_windowSize); m_receivedAcks[seqNr] = true; } } else if (sendRelate > 0) { // uh... we haven't sent this message yet? Weird, dupe or error... + NetException.Assert(false, "Got ack for message not yet sent?"); return; }