diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs b/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs index 25542ab85a..d25bf95ec0 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLImageManager.cs @@ -184,7 +184,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP { int sent; bool imageDone = image.SendPackets(m_client, packetsToSend - packetsSent, out sent); - packetsSent += sent; // If the send is complete, destroy any knowledge of this transfer @@ -234,20 +233,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP image.PriorityQueueHandle = null; lock (m_syncRoot) - try - { - m_priorityQueue.Add(ref image.PriorityQueueHandle, image); - } + try { m_priorityQueue.Add(ref image.PriorityQueueHandle, image); } catch (Exception) { } } void RemoveImageFromQueue(J2KImage image) { lock (m_syncRoot) - try - { - m_priorityQueue.Delete(image.PriorityQueueHandle); - } + try { m_priorityQueue.Delete(image.PriorityQueueHandle); } catch (Exception) { } } diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 1cfde9179a..384eda79c1 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -138,15 +138,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP #endregion Environment.TickCount Measurement m_circuitManager = circuitManager; + int sceneThrottleBps = 0; IConfig config = configSource.Configs["ClientStack.LindenUDP"]; if (config != null) { m_recvBufferSize = config.GetInt("client_socket_rcvbuf_size", 0); + sceneThrottleBps = config.GetInt("scene_throttle_max_bps", 0); } // TODO: Config support for throttling the entire connection - m_throttle = new TokenBucket(null, 0, 0); + m_throttle = new TokenBucket(null, sceneThrottleBps, sceneThrottleBps); m_throttleRates = new ThrottleRates(configSource); }