aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs9
-rwxr-xr-xOpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs25
2 files changed, 2 insertions, 32 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index cb2d9e2..547c8a6 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -1815,14 +1815,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1815 { 1815 {
1816 // An inventory descendents packet consists of a single agent section and an inventory details 1816 // An inventory descendents packet consists of a single agent section and an inventory details
1817 // section for each inventory item. The size of each inventory item is approximately 550 bytes. 1817 // section for each inventory item. The size of each inventory item is approximately 550 bytes.
1818 // In theory, UDP has a maximum packet size of 64k, so it should be possible to send descendent 1818 // limit to what may fit on MTU
1819 // packets containing metadata for in excess of 100 items. But in practice, there may be other
1820 // factors (e.g. firewalls) restraining the maximum UDP packet size. See,
1821 //
1822 // http://opensimulator.org/mantis/view.php?id=226
1823 //
1824 // for one example of this kind of thing. In fact, the Linden servers appear to only send about
1825 // 6 to 7 items at a time, so let's stick with 6
1826 int MAX_ITEMS_PER_PACKET = 5; 1819 int MAX_ITEMS_PER_PACKET = 5;
1827 int MAX_FOLDERS_PER_PACKET = 6; 1820 int MAX_FOLDERS_PER_PACKET = 6;
1828 1821
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 2300800..780e8f8 100755
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -279,11 +279,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
279 /// OnQueueEmpty event is triggered for textures</summary> 279 /// OnQueueEmpty event is triggered for textures</summary>
280 public readonly int TextureSendLimit; 280 public readonly int TextureSendLimit;
281 281
282 /// <summary>Handlers for incoming packets</summary>
283 //PacketEventDictionary packetEvents = new PacketEventDictionary();
284 /// <summary>Incoming packets that are awaiting handling</summary>
285 //protected OpenMetaverse.BlockingQueue<IncomingPacket> packetInbox = new OpenMetaverse.BlockingQueue<IncomingPacket>();
286
287 protected BlockingCollection<IncomingPacket> packetInbox = new BlockingCollection<IncomingPacket>(); 282 protected BlockingCollection<IncomingPacket> packetInbox = new BlockingCollection<IncomingPacket>();
288 283
289 /// <summary>Bandwidth throttle for this UDP server</summary> 284 /// <summary>Bandwidth throttle for this UDP server</summary>
@@ -375,12 +370,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
375 public int IncomingOrphanedPacketCount { get; protected set; } 370 public int IncomingOrphanedPacketCount { get; protected set; }
376 371
377 /// <summary> 372 /// <summary>
378 /// Queue some low priority but potentially high volume async requests so that they don't overwhelm available
379 /// threadpool threads.
380 /// </summary>
381// public JobEngine IpahEngine { get; protected set; }
382
383 /// <summary>
384 /// Run queue empty processing within a single persistent thread. 373 /// Run queue empty processing within a single persistent thread.
385 /// </summary> 374 /// </summary>
386 /// <remarks> 375 /// <remarks>
@@ -557,12 +546,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
557 546
558 Scene = (Scene)scene; 547 Scene = (Scene)scene;
559 m_location = new Location(Scene.RegionInfo.RegionHandle); 548 m_location = new Location(Scene.RegionInfo.RegionHandle);
560/* 549
561 IpahEngine
562 = new JobEngine(
563 string.Format("Incoming Packet Async Handling Engine ({0})", Scene.Name),
564 "INCOMING PACKET ASYNC HANDLING ENGINE");
565*/
566 OqrEngine = new JobEngine( 550 OqrEngine = new JobEngine(
567 string.Format("Outgoing Queue Refill Engine ({0})", Scene.Name), 551 string.Format("Outgoing Queue Refill Engine ({0})", Scene.Name),
568 "OUTGOING QUEUE REFILL ENGINE"); 552 "OUTGOING QUEUE REFILL ENGINE");
@@ -844,13 +828,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
844 bool doZerocode = (data[0] & Helpers.MSG_ZEROCODED) != 0; 828 bool doZerocode = (data[0] & Helpers.MSG_ZEROCODED) != 0;
845 bool doCopy = true; 829 bool doCopy = true;
846 830
847 // Frequency analysis of outgoing packet sizes shows a large clump of packets at each end of the spectrum.
848 // The vast majority of packets are less than 200 bytes, although due to asset transfers and packet splitting
849 // there are a decent number of packets in the 1000-1140 byte range. We allocate one of two sizes of data here
850 // to accomodate for both common scenarios and provide ample room for ACK appending in both
851 //int bufferSize = (dataLength > 180) ? LLUDPServer.MTU : 200;
852
853 //UDPPacketBuffer buffer = new UDPPacketBuffer(udpClient.RemoteEndPoint, bufferSize);
854 UDPPacketBuffer buffer = GetNewUDPBuffer(udpClient.RemoteEndPoint); 831 UDPPacketBuffer buffer = GetNewUDPBuffer(udpClient.RemoteEndPoint);
855 832
856 // Zerocode if needed 833 // Zerocode if needed