From 85a3b28bbfc9b42a496b84ca26888b5775af3e33 Mon Sep 17 00:00:00 2001 From: lidgren Date: Thu, 31 Jul 2014 12:20:53 +0000 Subject: [PATCH] Slight modifications to default resend values Don't respond to ExpandMTUSuccess if AutoExpandMTU is disabled Locking handshakes collection in Deny() for consistency --- Lidgren.Network/NetConnection.Handshake.cs | 3 ++- Lidgren.Network/NetConnection.cs | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) 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);