From ae70f61a645583ff6e6dca0dedb255684544664c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 22 Sep 2015 18:56:03 +0100 Subject: [PATCH] let minimum wqburst be a bit larger than MTU --- OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs | 4 ++-- OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs index 507c07c451..e0059609e2 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs @@ -351,7 +351,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP public int GetPacketsQueuedCount(ThrottleOutPacketType throttleType) { int icat = (int)throttleType; - if (icat > 0 && icat < THROTTLE_CATEGORY_COUNT) + if ((int)throttleType > 0 && icat < THROTTLE_CATEGORY_COUNT) return m_packetOutboxes[icat].Count; else return 0; @@ -437,7 +437,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Make sure none of the throttles are set below our packet MTU, // otherwise a throttle could become permanently clogged -/* not using floats +/* now using floats resend = Math.Max(resend, LLUDPServer.MTU); land = Math.Max(land, LLUDPServer.MTU); wind = Math.Max(wind, LLUDPServer.MTU); diff --git a/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs b/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs index fd369c4034..f769383e3d 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/TokenBucket.cs @@ -104,8 +104,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP get { return m_burst; } set { float rate = (value < 0 ? 0 : value); - if (rate < m_minimumDripRate) - rate = m_minimumDripRate; + if (rate < 1.5f * m_minimumDripRate) + rate = 1.5f * m_minimumDripRate; else if (rate > m_minimumDripRate * m_quantumsPerBurst) rate = m_minimumDripRate * m_quantumsPerBurst;