diff --git a/Lidgren.Network/NetConnection.Handshake.cs b/Lidgren.Network/NetConnection.Handshake.cs index b391b23..b2c7c01 100644 --- a/Lidgren.Network/NetConnection.Handshake.cs +++ b/Lidgren.Network/NetConnection.Handshake.cs @@ -263,7 +263,8 @@ namespace Lidgren.Network SendDisconnect(reason, false); // remove from handshakes - m_peer.m_handshakes.Remove(m_remoteEndPoint); // TODO: make this more thread safe? we're on user thread + lock (m_peer.m_handshakes) + m_peer.m_handshakes.Remove(m_remoteEndPoint); } internal void ReceivedHandshake(double now, NetMessageType tp, int ptr, int payloadLength) diff --git a/Lidgren.Network/NetConnection.cs b/Lidgren.Network/NetConnection.cs index 9a13455..0d3d8c9 100644 --- a/Lidgren.Network/NetConnection.cs +++ b/Lidgren.Network/NetConnection.cs @@ -75,7 +75,7 @@ namespace Lidgren.Network float avgRtt = m_averageRoundtripTime; if (avgRtt <= 0) avgRtt = 0.1f; // "default" resend is based on 100 ms roundtrip time - return 0.02f + (avgRtt * 2.0f); // 20 ms + double rtt + return 0.025f + (avgRtt * 2.1f); // 25 ms + double rtt } internal NetConnection(NetPeer peer, IPEndPoint remoteEndPoint) @@ -429,6 +429,11 @@ namespace Lidgren.Network SendMTUSuccess(payloadLength); break; case NetMessageType.ExpandMTUSuccess: + if (m_peer.Configuration.AutoExpandMTU == false) + { + m_peer.LogDebug("Received ExpandMTURequest altho AutoExpandMTU is turned off!"); + break; + } NetIncomingMessage emsg = m_peer.SetupReadHelperMessage(ptr, payloadLength); int size = emsg.ReadInt32(); HandleExpandMTUSuccess(now, size);