Justin Clark-Casey (justincc)
5ab5d7fe47
Fix recent regression where adaptive throttles stopped adjusting.
...
Extends regression tests to test response of adaptive throttles to ack'ed and expired packets.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
b2e377f168
Fix setting of max scene throttle so that setting it restricts the child client throttles properly.
...
In "show throttles", also renames 'total' column to 'actual' to reflect that it is not necessarily the throttles requested for/by the client.
Also fills out 'target' in non-adapative mode to the actual throttle requested for/by the client.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
b114f5626e
Add request drip rate to assertions for token bucket regression tests
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
8a949f0ee1
Add regression tests for token buckets on their own
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
ec3b43d28d
Make regression throttle tests consistently test target and max throttle settings.
...
As part of this also refactors code to put all throttle asserts in a single regression test method
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
e6af551007
For now, send all non-full terse updates for ones own avatar directly to the LLUDP client stack rather than queueing internally within LLClientView.
...
When an HG avatar enters a scene, it delays processing of entity updates. Could be crowding out by other updates or something else.
This delay in ones own av mvmt updates results in mvmt lag experienced on the client. Avoiding the internal LLClientView for these packets appears to resolve this issue.
Appears most noticeably for avatars with attachments, though has also been seen on those without sometimes. Hasn't been observed for non-HG avatars in general.
Will be investigating exactly what the problem is, at which point there will be a more permanent solution.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
10095c1a58
Add "debug lludp throttles get/set request" and get current
...
This allows one to set the requested throttle (which normally comes from the client) as opposed to the max.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
61d6bd78b3
Change the word order of some debug lludp settings for readability
...
On server, scene-throttle-max becomes max-scene-throttle and likewise max-new-client-throttle
On clients, throttle-max becomes max
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
44dc58cc7f
Add "debug lludp get/set new-client-throttle-max" to allow default new client throttle to be set separately from existing clients.
...
"debug lludp throttles get/set throttle-max" now only gets and sets current max client throttles
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
68d0c4d37b
Add "debug lludp get" command which currently just shows scene-throttle-max to mirror "debug lludp set"
...
Information is also available in "show server throttles" but that's more for non-debug info rather than attempting to get and set parameters on the fly for debug purposes.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
16a5e15443
Allow GetMesh capability to be served directly by a server like GetTexture
...
To do this required GetMesh to be converted to a BaseStreamHandler
Unlike GetTexture connector, no redirect URL functionality yet (this wasn't present in the first place).
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
d33964222a
Fix an issue where specifying both max client and server outgoing UDP 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
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
ead32de790
Use automatic properties for Parent and TotalDripRequest in TokenBucket to make code analysis easier. No functional change.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
40314b56f2
Remove the unnecessary intermediate total token bucket.
...
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.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
a98b514184
minor: remove compiler warning from unused field in SimulatorFeaturesModule
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
df031fe8be
extend TestClientThrottleRegionLimited for 2 clients after testing 1. Renames to TestSingleClientThrottleRegionLimited()
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
dce98acb69
Add regression test TestClientThrottleRegionLimited() for testing simple behaviour of throttles where a region-wide total outbound limit is in place.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
075f718f3f
factor out common throttle setting byte[] array construction in ThrottleTests.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
9cdd38d0cf
Add regression test TestClientThrottleLimited() for throttle behaviour when a max client total limit is enforced server-side
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
fc878a33ed
refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
...
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
af0a851eba
minor: disable logging in regression test TestClientThrottleSetNoLimit
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
9934e2c545
minor: comment out unused method in regression BasicCircuitTests
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
746defa094
Add basic regression test ThrottleTests.TestClientThrottleSetNoLimit
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
52370ac94d
refactor: Move test clientstack setup code out of BasicCircuitTests into OpenSim.Tests.Common.ClientStackHelpers
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
87d5da86a1
Fix recent regression in "debug lludp throttles get" command that stopped it printing any information. Also fix max throttle displayed to be properly kbps
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
a13022c296
minor: in "show server throttles", display unset if new client throttle value is not set rather than 0
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
44e0a2f906
Add throttle-max option to "debug lludp throttles set" to allow runtime setting of default and existing client throttles.
...
Doesn't yet adjust until clients submit new throttle settings.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
5c13980eb7
Change "debug lludp throttle *" commands to "debug lludp throttles" for consistency (and because I keep typing throttles).
...
This will still work with "debug lludp throttle" anyway.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
d20aeefef2
Fix console set and get of max scene rate. Was performing wrong calculation - throttle buckets are set in bytes, not bits
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
10d09e287c
Eliminate 'max' throttle setting from server throttles report since this never applies.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
679eaec22f
Allow "debug lludp throttle *" commands to work without a user name, in which case they apply to all users in the lludp server
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
a142edec03
minor: add apparant total to logging when client sets throttles
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
c73e62ea3a
minor: fix bug in throttle logging where arguments were mismatched
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
1d33a40f59
Add "debug lludp set scene-throttle-max <value>" console command to allow us to potentially set the scene max throttle on the fly.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
a5eabdade3
Move information about "server agent rate" throttles into "show server throttles" command rather than "show throttles"
...
THis allows us to see the rates when no client is connected to the region.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
c8f5add2fc
Add "show server throttles" command for showing server specific information about throttles
...
This is separate from the user-oriented "show throttles" command since one will often only want to know about varying client throttle settings.
Currently displays max scene throttle and adaptive throttles config if set.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
51eb8facd6
Add OutgoingPacketsQueuedCount clientstack stat.
...
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.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
4c5fbf8b0a
minor: Remove compiler warnings from unused fields in TokenBucket
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
12daa3c3d9
refactor: Move LLUDPServer console commands into their own class.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
f0fd2fa325
refactor: rename "debug lludp throttle status" to "debug lludp throttle get" to match set command
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
e144958e03
Add "debug lludp throttle set" command to allow setting of parameters at runtime
...
Can currently only set adaptive true|false, where adaptive = false
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
cfc4055991
Make outboudn and packet inbox handling threads highest priority.
...
Will only have any affect under Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 (not recommended) applied.
For assessment purposes.
2014-11-25 23:18:38 +00:00
Diva Canto
0997ce8629
Small improvements to SimulatorFeaturesModule: (1) don't overwrite extras if the grid response is invalid; (2) make the name of the config variable for destination guide consistent with the grid-wide name in LoginService; (3) account for the existence of a [USERID] in the destination guide URL
2014-11-22 20:14:09 -08:00
Melanie Thielker
bec456c2a5
Remove the Invisible stuff and add more baked caching. Refactor selection of textures to save to Bakes module.
2014-11-11 07:09:30 +01:00
Melanie Thielker
64deb6ae6f
Second part of invisible base avatar option
2014-11-10 19:49:58 +01:00
Melanie Thielker
785a2cc729
Remove JustinCCs UDP patch - it is harmful to Avination's grid management
2014-11-10 04:48:36 +01:00
Diva Canto
ac051ef4ab
Added grid information to SimFeatures response, so that the viewer can show it.
2014-11-06 17:49:04 -08:00
UbitUmarov
caddabb5c4
scale ChildAgentThrottles with distance (internal to child server and not
...
root as was done before )
2014-11-06 22:25:16 +00:00
UbitUmarov
ead78764ab
allow drawdistance to change between 32 and MaxDrawDistance, configurable
...
value default to 256, so should have no effect. Next steps needed: reduce
client udp Throttles with distance, update childreen connections with
significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
2014-11-06 19:03:25 +00:00
UbitUmarov
5cca6e7d16
don't send updates for deleted agents
2014-11-01 00:01:11 +00:00