aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs3
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs9
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/PacketPool.cs (renamed from OpenSim/Framework/PacketPool.cs)8
3 files changed, 16 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 6f00957..6ccabf1 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -5962,7 +5962,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5962 msgpack.MessageBlock.ID, 5962 msgpack.MessageBlock.ID,
5963 msgpack.MessageBlock.Offline != 0 ? true : false, 5963 msgpack.MessageBlock.Offline != 0 ? true : false,
5964 msgpack.MessageBlock.Position, 5964 msgpack.MessageBlock.Position,
5965 msgpack.MessageBlock.BinaryBucket); 5965 msgpack.MessageBlock.BinaryBucket,
5966 true);
5966 5967
5967 handlerInstantMessage(this, im); 5968 handlerInstantMessage(this, im);
5968 } 5969 }
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 60ab70e..b3db064 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -227,6 +227,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
227 m_pausedAckTimeout = 1000 * 300; // 5 minutes 227 m_pausedAckTimeout = 1000 * 300; // 5 minutes
228 } 228 }
229 229
230 // FIXME: This actually only needs to be done once since the PacketPool is shared across all servers.
231 // However, there is no harm in temporarily doing it multiple times.
232 IConfig packetConfig = configSource.Configs["PacketPool"];
233 if (packetConfig != null)
234 {
235 PacketPool.Instance.RecyclePackets = packetConfig.GetBoolean("RecyclePackets", true);
236 PacketPool.Instance.RecycleDataBlocks = packetConfig.GetBoolean("RecycleDataBlocks", true);
237 }
238
230 #region BinaryStats 239 #region BinaryStats
231 config = configSource.Configs["Statistics.Binary"]; 240 config = configSource.Configs["Statistics.Binary"];
232 m_shouldCollectStats = false; 241 m_shouldCollectStats = false;
diff --git a/OpenSim/Framework/PacketPool.cs b/OpenSim/Region/ClientStack/Linden/UDP/PacketPool.cs
index 41d17c5..fc9406b 100644
--- a/OpenSim/Framework/PacketPool.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/PacketPool.cs
@@ -32,9 +32,8 @@ using OpenMetaverse;
32using OpenMetaverse.Packets; 32using OpenMetaverse.Packets;
33using log4net; 33using log4net;
34 34
35namespace OpenSim.Framework 35namespace OpenSim.Region.ClientStack.LindenUDP
36{ 36{
37
38 public sealed class PacketPool 37 public sealed class PacketPool
39 { 38 {
40 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 39 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -44,6 +43,9 @@ namespace OpenSim.Framework
44 private bool packetPoolEnabled = true; 43 private bool packetPoolEnabled = true;
45 private bool dataBlockPoolEnabled = true; 44 private bool dataBlockPoolEnabled = true;
46 45
46 /// <summary>
47 /// Pool of packets available for reuse.
48 /// </summary>
47 private readonly Dictionary<PacketType, Stack<Packet>> pool = new Dictionary<PacketType, Stack<Packet>>(); 49 private readonly Dictionary<PacketType, Stack<Packet>> pool = new Dictionary<PacketType, Stack<Packet>>();
48 50
49 private static Dictionary<Type, Stack<Object>> DataBlocks = 51 private static Dictionary<Type, Stack<Object>> DataBlocks =
@@ -244,4 +246,4 @@ namespace OpenSim.Framework
244 } 246 }
245 } 247 }
246 } 248 }
247} 249} \ No newline at end of file