1268 Commits

Author SHA1 Message Date
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
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
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
UbitUmarov
ba8e1efb43 sadly revert to resend terseUpdates enqueuing them back into entityupdates
queue. Viewers fail to handle correctly out of order updates with ugly visible
effects. Make sure these packets don't include acks so they aren't lost.
2014-10-31 23:34:43 +00:00
UbitUmarov
54ab9e7d4d set udp SocketOptionName.ReuseAddress to false, to not allow two regions
to bind to same port, as seems to be possible at least with mono 3.2.8,
 same as patch just pushed to core by justin. This is not necessary on
 windows, possible a bug on some mono versions.
2014-10-30 21:57:20 +00:00
UbitUmarov
4571e5bc3e try to make SOG crossings full async. Simplify some borders checking.... 2014-10-24 18:10:28 +01:00
Melanie Thielker
12ebc92e55 Revert "*TEST* send udp sync. Stop uncontroled and hidden use of IO threads."
This reverts commit 8c41271b33.

Conflicts:

	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2014-10-13 23:52:19 +02:00
UbitUmarov
33ec073320 revert to async send, since past experience showed sync didn't work when
on mono
2014-10-13 22:46:58 +01:00
UbitUmarov
8c41271b33 *TEST* send udp sync. Stop uncontroled and hidden use of IO threads.
Testing this may require several people.
2014-10-13 13:17:48 +01:00
Justin Clark-Casey (justincc)
43520b3e8b Add "debug lludp throttle status" command to return status information about a client's throttle (currently just whether adaptive is enabled). 2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc)
05508b5c56 Add "debug lludp throttle log <level> <avatar-first-name> <avatar-last-name>" to control extra throttle related debug logging. 2014-10-02 22:30:44 +01:00
UbitUmarov
49bf83ecb8 do global position X and Y with double precision in autopilot, so
corrected viewers do work
2014-09-30 23:31:55 +01:00
Justin Clark-Casey (justincc)
d3578e2662 Add "debug lludp data out" console command for logging outgoing data just 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.
2014-09-24 23:44:55 +01:00
Melanie Thielker
8014ce7f1a Fix a nullref in a debug message. If we have no SceneAgent, we can't output data from it. 2014-09-15 23:15:27 +02:00
Melanie Thielker
d43d3df724 Reinstate closing the client if CloseAgen returns false. This was part
of the last Ubit patch.
2014-09-14 20:46:22 +02:00
UbitUmarov
3d9f25a19d revert changes to m_pendingCache and remove client close if there is no
SP, as requested
2014-09-14 02:28:42 +01:00
UbitUmarov
908e0e1cef do not use a blind expire of m_pendingCache. Entries must be valid while
respective HandleUseCircuitCode, no matter how long it takes, so a viewer
 retry doesnt start a overlapping one. It HandleUseCircuitCode
 responsability to always remove entries, even on fails. Remove a client
 even if m_scene.CloseAgent fails.
2014-09-13 20:37:20 +01:00
Melanie Thielker
42b2248960 If a client's SceneAgent is null, that client is not fully logged in or
crashed while logging out. Don't reuse it, create a new one.
2014-09-13 00:49:32 +02:00
Justin Clark-Casey (justincc)
e4d16e6795 Make LLUDP output queue refill thread active by default, since load tests have shown that this has better scalability.
For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime.
2014-09-04 18:24:59 +01:00
UbitUmarov
0514679b15 reduce MIN_CALLBACK_MS guard time. A value too high introduces a extra
throttle and makes more packets to be sent in bursts and not in steady
 state flow.
2014-09-02 18:51:49 +01:00
UbitUmarov
6611e75a2b void time change between gettime calls 2014-09-02 16:11:46 +01:00
UbitUmarov
50433e089b *needs testing, not that good* change throttles math using floats and not
int64, etc. Limite brust bytes to the total rate client requested times a
look ahead estimation time, Avoid queues starvation with updates waiting...
2014-09-02 15:48:59 +01:00
UbitUmarov
7351d92a76 add method to get a category throttle rate 2014-08-29 16:19:30 +01:00
UbitUmarov
fd0a635302 reduce burst 2014-08-29 15:13:46 +01:00
UbitUmarov
438798202f replace the tick() by a limit on the maximum number of tokens that can be
acumulated ( variable named BurtRate, not exactly a rate...)
2014-08-29 13:26:30 +01:00
UbitUmarov
6f590c2f79 disable first drip 2014-08-29 00:05:57 +01:00
UbitUmarov
986863a0cd try to reduce insane high data rate udp bursts. This needs testing on a
region with a lot of contents. Should not affect much average rates.
2014-08-28 22:26:03 +01:00
UbitUmarov
894b5c10c6 remove misplaced comment 2014-08-28 18:54:08 +01:00
UbitUmarov
9839904ebe try to make sense of throttle rate limits 2014-08-28 18:51:55 +01:00
UbitUmarov
5a2d4fd47f add some functions for estimation of number of bytes that can be send in a category in specified time 2014-08-28 16:49:32 +01:00
UbitUmarov
ff4df688ba send all presences terseupdates in same batch 2014-08-28 12:55:31 +01:00
UbitUmarov
ade4bf69b1 if we send wearables with ThrottleOutPacketType.HighPriority, then we
should send other avatarinformation with same priority on same Task category ( plus cleanup )
2014-08-28 10:38:31 +01:00
UbitUmarov
1e888d61ca enqueue also if m_nextPackets[category] is not null. This is really the
top element of a category queue, equivalente to using a queue.peek() if
 avaiable
2014-08-27 01:33:09 +01:00
Justin Clark-Casey (justincc)
64f640f901 Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
UbitUmarov
92b0b27caf dont append acks to a resend packet 2014-08-26 17:42:44 +01:00
UbitUmarov
6857afe2a4 *test* back to no sog kills, little retouch on attachment updates,
NameValue AttachItemID is a root part thing only
2014-08-25 23:31:04 +01:00
UbitUmarov
75cbe620c0 *test* cleanup the bugs nest 2014-08-25 22:45:31 +01:00
UbitUmarov
c24601bc6a change enconding of attachment updates NameValue and State fields 2014-08-25 21:49:39 +01:00
UbitUmarov
f4a6be8654 clean sendKill a bit, remove a IsChild that is set too early in a calling
path
2014-08-24 00:44:14 +01:00
UbitUmarov
d55041d934 on updates, send rotations using livomv Quaternion.toBytes() again 2014-08-23 21:13:30 +01:00
UbitUmarov
63d1916f51 Remove entities from updates queues on kill. Do it sync so enqueues after
the kill work
2014-08-23 20:59:11 +01:00
UbitUmarov
5bf145a397 add a direct sendpartfullUpdate to send a full object update to a part,
optionally overriding its parentID. check what it does to attachments
2014-08-21 00:49:10 +01:00