aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Instead of swallowing any socket begin/end receive exceptions, log them for ↵Justin Clark-Casey (justincc)2013-09-251-7/+32
| | | | | | debugging purposes. This may reveal why on some teleports with current code, the UseCircuitCode message gets through but CompleteMovement disappears into the ether.
* Add clientstack.OutgoingUDPSendsCount stat to show number of outbound UDP ↵Justin Clark-Casey (justincc)2013-07-231-0/+7
| | | | packets sent by a region per second
* Record raw number of UDP receives as clientstack.IncomingUDPReceivesCountJustin Clark-Casey (justincc)2013-07-231-1/+7
|
* Add AverageUDPProcessTime stat to try and get a handle on how long we're ↵Justin Clark-Casey (justincc)2013-07-231-0/+39
| | | | | | | | taking on the initial processing of a UDP packet. If we're not receiving packets with multiple threads (m_asyncPacketHandling) then this is critical since it will limit the number of incoming UDP requests that the region can handle and affects packet loss. If m_asyncPacketHandling then this is less critical though a long process will increase the scope for threads to race. This is an experimental stat which may be changed.
* minor: provide user feedback in the log for now when udp in/out bound ↵Justin Clark-Casey (justincc)2013-07-211-4/+8
| | | | threads are started/stopped
* Do some simple queue empty checks in the main outgoing udp loop instead of ↵Justin Clark-Casey (justincc)2013-07-211-3/+3
| | | | | | | always performing these on a separate fired thread. This appears to improve cpu usage since launching a new thread is more expensive than performing a small amount of inline logic. However, needs testing at scale.
* Disable UDPPacketBuffer pooling for now to resolve an issue on Windows of ↵Justin Clark-Casey (justincc)2012-12-191-5/+8
| | | | | | | | | | | interference between incoming packets. On Windows, concurrent multi-threaded processing of inbound UDP somehow allows different data input processing to interfere with each other. Possibly the endpoint reference is being switched, though I don't yet know the mechanism. Not seen on Mono. Also resolveable by setting RecyclePackets = false or RecycleBaseUDPPackets = false in [PacketPool] Or async_packet_handling = false in [ClientStack.LindenUDP] For now, will simply disable this particular pooling though will revisit this issue. In response to http://opensimulator.org/mantis/view.php?id=6468
* Make PacketPool class stats pull stats instead of push stats so they can be ↵Justin Clark-Casey (justincc)2012-11-151-1/+1
| | | | lifted up into LLUDPServer and be distiguished by scene name
* Add IncomingPacketsProcessedCount stat for diagnostics.Justin Clark-Casey (justincc)2012-11-151-24/+7
| | | | Also puts some packet processing counts in a container named after the scene so that stats can be collected from more than one scene.
* Make it possible to turn the base UDP object packet pools on and off whilst ↵Justin Clark-Casey (justincc)2012-10-231-21/+45
| | | | | | running via the "debug lludp pool <on|off>" console command. For debug purposes. This does not currently apply to the higher LLUDP packetpool.
* Add object count stats for new IncomingPacket and UDPPacketBuffer pools if ↵Justin Clark-Casey (justincc)2012-10-231-0/+17
| | | | | | | | they are enabled. Add count stats for existing LLUDP pool. This introduces a pull stat type in addition to the push stat type. A pull stat takes a method on construction which knows how to update the stat on request. In this way, special interfaces for pull stat collection are not necessary.
* Add optional pool for the UDPPacketBuffer objects that handle all incoming ↵Justin Clark-Casey (justincc)2012-10-161-6/+25
| | | | | | | | UDP data. Even when an avatar is standing still, it's sending in a constant stream of AgentUpdate packets that the client creates new UDPPacketBuffer objects to handle. This option pools those objects. This reduces memory churn. Currently off by default. Works but the scope can be expanded.
* Make it possible to separate start and stop lludp packet processing from the ↵Justin Clark-Casey (justincc)2012-10-161-17/+27
| | | | | | | console for debug processes. This is controlled via the "debug lludp start <in|out|all>" and "debug lludp stop <in|out|all>" region console commands. The command "debug lludp status" will show current status.
* Reactivate BasicCircuitTests.TestAddClient()Justin Clark-Casey (justincc)2011-12-081-1/+1
| | | | This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
* First stab at cleaning up Caps. Compiles. Untested.Diva Canto2011-04-301-0/+284