aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fix GetPacketsQueuedCount typos in last commitUbitUmarov2015-09-221-1/+1
|
* let minimum wqburst be a bit larger than MTUUbitUmarov2015-09-221-2/+2
|
* removed a protocol breaking lludp debug option that no one should try, ↵UbitUmarov2015-09-221-24/+4
| | | | changed terrain send throotle to be by packets in queue, reduced odds of MTU violation on terrain send (still bad). Most UDP protocol implementations may not mind much, but our code still does
* fix the missing initialization of the folish ProcessUnackedSends optionUbitUmarov2015-09-061-0/+2
|
* seems to compile ( tests comented out)UbitUmarov2015-09-021-66/+8
|
* bad merge?UbitUmarov2015-09-011-71/+232
|\
| * delay terrain sending if land queue is 2 busyUbitUmarov2015-08-221-0/+14
| |
| * scale ChildAgentThrottles with distance (internal to child server and notUbitUmarov2014-11-061-7/+13
| | | | | | | | root as was done before )
| * reduce MIN_CALLBACK_MS guard time. A value too high introduces a extraUbitUmarov2014-09-021-1/+1
| | | | | | | | | | throttle and makes more packets to be sent in bursts and not in steady state flow.
| * *needs testing, not that good* change throttles math using floats and notUbitUmarov2014-09-021-25/+36
| | | | | | | | | | int64, etc. Limite brust bytes to the total rate client requested times a look ahead estimation time, Avoid queues starvation with updates waiting...
| * add method to get a category throttle rateUbitUmarov2014-08-291-35/+32
| |
| * replace the tick() by a limit on the maximum number of tokens that can beUbitUmarov2014-08-291-2/+0
| | | | | | | | acumulated ( variable named BurtRate, not exactly a rate...)
| * try to reduce insane high data rate udp bursts. This needs testing on aUbitUmarov2014-08-281-0/+2
| | | | | | | | region with a lot of contents. Should not affect much average rates.
| * remove misplaced commentUbitUmarov2014-08-281-1/+0
| |
| * try to make sense of throttle rate limitsUbitUmarov2014-08-281-3/+13
| |
| * add some functions for estimation of number of bytes that can be send in a ↵UbitUmarov2014-08-281-0/+8
| | | | | | | | category in specified time
| * if we send wearables with ThrottleOutPacketType.HighPriority, then weUbitUmarov2014-08-281-18/+14
| | | | | | | | should send other avatarinformation with same priority on same Task category ( plus cleanup )
| * enqueue also if m_nextPackets[category] is not null. This is really theUbitUmarov2014-08-271-4/+8
| | | | | | | | | | top element of a category queue, equivalente to using a queue.peek() if avaiable
| * reduce ping cliping lower limitUbitUmarov2014-08-141-2/+2
| |
| * add a estimator of client ping time, and painfully make it visible in showUbitUmarov2014-08-141-0/+16
| | | | | | | | connections console command
| * Merge branch 'master' into careminsterMelanie2014-01-281-0/+14
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: OpenSim/Framework/RegionSettings.cs OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs OpenSim/Region/Framework/Interfaces/IInterregionComms.cs OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
| * \ Merge branch 'master' into careminsterMelanie2013-07-241-17/+52
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs OpenSim/Region/Framework/Scenes/ScenePresence.cs OpenSim/Region/Physics/Manager/PhysicsActor.cs OpenSim/Region/Physics/Manager/PhysicsScene.cs
| * \ \ Merge branch 'master' into careminsterMelanie2013-07-181-14/+13
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs OpenSim/Region/Framework/Scenes/SceneObjectPart.cs OpenSim/Region/Framework/Scenes/ScenePresence.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs OpenSim/Server/Handlers/Simulation/AgentHandlers.cs OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs OpenSim/Services/HypergridService/UserAgentService.cs
| * | | | Add a way to put things at the front of the queue for any throttle group.Melanie2013-01-161-10/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a DoubleLocklessQueue and uses it for the outgoing buckets. Added a flag value to the Throttle Type (again) because although it's hacky, it's the best of a bad bunch to get the message through the UDP stack to where it's needed.
| * | | | Complete removal of the now unused state queueMelanie2013-01-161-13/+2
| | | | |
| * | | | * Plumbing and basic setting of the GetMesh Cap Throttler.teravus2012-11-171-0/+4
| | | | | | | | | | | | | | | | | | | | * Last step is to flip the throttle distribution.
| * | | | Merge branch 'master' into careminsterMelanie2012-07-251-1/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
| * | | | | Recover from an internal mess-up in the outgoing packet queues by creatingMelanie2011-12-081-19/+36
| | | | | | | | | | | | | | | | | | | | | | | | a new queue object.
| * | | | | Merge commit 'c5826d589ab2f33a71105bc2d3015ffbb7dd2973' into bigmergeMelanie2011-10-251-2/+3
| |\ \ \ \ \
| * \ \ \ \ \ Merge commit 'f9ffd2538f3bf300e8f751258a6129fb780b5b0a' into bigmergeMelanie2011-10-251-7/+15
| |\ \ \ \ \ \
| * | | | | | | Guard against a bad login leaving us with a null queueMelanie2011-08-091-1/+1
| | | | | | | |
| * | | | | | | Merge branch 'master' into careminster-presence-refactorMelanie2011-05-051-0/+10
| | | | | | | |
* | | | | | | | Add debug ability to ignore reliably sent packets that are not acknowledged.Justin Clark-Casey (justincc)2015-01-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is controlled via the console command "debug lludp client set process-unacked-sends true [<avatar-first-name> <avatar-last-name>]" For debug purposes to see if this process for very bad connections is causing general outbound udp processing delays. Relates to http://opensimulator.org/mantis/view.php?id=7393
* | | | | | | | Make the performance controlling job processing threads introduced in ↵Justin Clark-Casey (justincc)2015-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conference code use a generic JobEngine class rather than 4 slightly different copy/pasted versions.
* | | | | | | | Enable runtime configuration of the minimum rate for adaptiveMic Bowman2014-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | throttles. Setting adaptive_throttle_min_bps will change the minimum rate that the adapative throttles will drop to in case of network packet loss. The current rate default rate is 256kbps. The viewer can throttle rates under that amount, but the dynamic adaptation will not.
* | | | | | | | Label all threadpool calls being made in core OpenSimulator. This is to add ↵Justin Clark-Casey (justincc)2014-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | problem diagnosis. "show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
* | | | | | | | Fix recent regression where adaptive throttles stopped adjusting.Justin Clark-Casey (justincc)2014-11-251-18/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extends regression tests to test response of adaptive throttles to ack'ed and expired packets.
* | | | | | | | Fix an issue where specifying both max client and server outgoing UDP ↵Justin Clark-Casey (justincc)2014-11-251-17/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | throttles would cause client throttles to be lower than expected when total requests exceeded the scene limit. This was because specifying a max client throttle would always request the max from the parent server throttle, no matter the actual total requests on the client throttle. This would lead to a lower server multiplier than expected. This change also adds a 'target' column to the "show throttles" output that shows the target rate (as set by client) if adaptive throttles is active. This commit also re-adds the functionality lost in recent 5c1a1458 to set a max client throttle when adaptive is active. This commit also adds TestClientThrottlePerClientAndRegionLimited and TestClientThrottleAdaptiveNoLimit regression tests
* | | | | | | | Remove the unnecessary intermediate total token bucket.Justin Clark-Casey (justincc)2014-11-251-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only had one child, which is the 'adaptive' token bucket. So from testing and currently analysis, we can use that bucket directly which simplifies the code.
* | | | | | | | Add basic regression test ThrottleTests.TestClientThrottleSetNoLimitJustin Clark-Casey (justincc)2014-11-251-0/+8
| | | | | | | |
* | | | | | | | minor: add apparant total to logging when client sets throttlesJustin Clark-Casey (justincc)2014-11-251-2/+5
| | | | | | | |
* | | | | | | | minor: fix bug in throttle logging where arguments were mismatchedJustin Clark-Casey (justincc)2014-11-251-1/+1
| | | | | | | |
* | | | | | | | Add OutgoingPacketsQueuedCount clientstack stat.Justin Clark-Casey (justincc)2014-11-251-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the total of queued outgoing packets across all connections, as also seen in the "show queues" command. Gives some early indication of whether the simulator can't send all outgoing packets fast enough. Though then one would want to check that this isn't due to a few bad client connections.
* | | | | | | | Add "debug lludp throttle log <level> <avatar-first-name> ↵Justin Clark-Casey (justincc)2014-10-021-5/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <avatar-last-name>" to control extra throttle related debug logging.
* | | | | | | | Add "debug lludp data out" console command for logging outgoing data just ↵Justin Clark-Casey (justincc)2014-09-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before it's put on the wire. Unlike "debug lludp packet" which logs at the point where OpenSim first asks the clientstack to send a certain outgoing packet, this logs immediately before the actual send. For low-level debugging purposes.
* | | | | | | | Add experimental OutgoingQueueRefillEngine to handle queue refill processing ↵Justin Clark-Casey (justincc)2014-08-191-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | Make LLUDPServer.Scene publicly gettable/privately settable instead of ↵Justin Clark-Casey (justincc)2014-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | protected so that other logging code in the clientstack can record more useful information Adds some commented out logging for use again in the future. No functional change.
* | | | | | | | In "show throttles", show the maximum drip rate. This shows whether a client ↵Oren Hurvitz2014-07-211-1/+2
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | is being throttled due to past poor performance.
* | | | | | | Adds a configuration option to cannibalize bandwidth from theMic Bowman2014-01-201-0/+14
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | udp texture throttle and move it to the task throttle. Since most viewers are using http textures, the udp texture throttle is holding onto bw that could be used for more responsive prims updates. See the documentation for CannibalizeTextureRate in OpenSimDefaults.ini. Option is disabled by default.
* | | | | | Do some simple queue empty checks in the main outgoing udp loop instead of ↵Justin Clark-Casey (justincc)2013-07-211-17/+52
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.