OpenSimMirror/OpenSim/Region/ClientStack/Linden/UDP
Justin Clark-Casey (justincc) 84cea46c10 Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool.
Disabled by default.  Currently can only be enabled with console "debug lludp oqre start" command, though this can be started and stopped whilst simulator is running.
When a connection requires packet queue refill processing (used to populate queues with entity updates, entity prop updates and image queue updates), this is done via Threadpool requests.
However, with a very high number of connections (e.g. 100 root + 300 child) a very large number of simultaneous requests may be causing performance issues.
This commit adds an experimental engine for processing these requests from a queue with a persistent thread instead.
Unlike inbound processing, there are no network requests in this processing that might hold the thread up for a long time.
Early implementation - currently only one thread which may (or may not) get overloaded with requests.  Added for testing purposes.
2014-08-19 00:17:12 +01:00
..
Properties Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00
Tests fix all instances of "non-existant" to "non-existent" (spelling mistakes) thanks Ai Austin for pointing this out. 2014-07-17 09:37:24 -04:00
IncomingPacket.cs If RecycleBaseUDPPackets = true, also pool IncomingPackets to reduce memory churn 2012-10-17 21:08:15 +01:00
IncomingPacketHistoryCollection.cs First stab at cleaning up Caps. Compiles. Untested. 2011-04-30 09:24:15 -07:00
J2KImage.cs HG: close a loophole by which if something was wrong with the ServiceURLs it resulted in never ending asset requests 2013-07-02 13:29:44 -07:00
LLClientView.cs Make LLUDPServer.Scene publicly gettable/privately settable instead of protected so that other logging code in the clientstack can record more useful information 2014-08-19 00:17:12 +01:00
LLImageManager.cs Do some simple queue empty checks in the main outgoing udp loop instead of always performing these on a separate fired thread. 2013-07-21 08:56:48 -07:00
LLUDPClient.cs Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool. 2014-08-19 00:17:12 +01:00
LLUDPServer.cs Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool. 2014-08-19 00:17:12 +01:00
OpenSimUDPBase.cs Instead of swallowing any socket begin/end receive exceptions, log them for debugging purposes. 2013-09-25 00:02:17 +01:00
OutgoingPacket.cs First stab at cleaning up Caps. Compiles. Untested. 2011-04-30 09:24:15 -07:00
OutgoingQueueRefillEngine.cs Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool. 2014-08-19 00:17:12 +01:00
PacketPool.cs Packet headers are not zero-encoded so don't try to zero-decode these in PacketPool.GetType() 2013-08-16 00:58:25 +01:00
ThrottleRates.cs Adds a configuration option to cannibalize bandwidth from the 2014-01-20 18:59:43 -08:00
TokenBucket.cs In "show throttles", show the maximum drip rate. This shows whether a client is being throttled due to past poor performance. 2014-07-21 09:10:50 +01:00
UnackedPacketCollection.cs minor: insert some commented out log lines which are a blunt but useful instrument to see packet expiry and received acks 2011-10-12 19:35:40 +01:00