3735 Commits

Author SHA1 Message Date
UbitUmarov
90cad82405 remove unnecessary argument ref 2014-09-26 14:22:54 +01:00
UbitUmarov
fcad64209c make c# more happy 2014-09-26 14:17:01 +01:00
UbitUmarov
5f57b55dc9 use central animationset permitions define 2014-09-26 14:08:21 +01:00
Melanie Thielker
3a42ea5279 Extend upload verification to all upload paths 2014-09-25 21:21:20 +02:00
UbitUmarov
57166878b5 fix animation asset name to "animatn", use "animset" for the new
animationSet
2014-09-25 16:37:43 +01:00
UbitUmarov
f51779bb05 add also the name animset until its clear the name liru will use 2014-09-25 14:10:44 +01:00
UbitUmarov
18cc33e2c5 add animationset to upload assets, for now no cost 2014-09-25 13:35:30 +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
18de5c8a2d make use of it in GetMeshModule, and meshs are Assets not Task itens,
reduce MeshModule impact on udp rate
2014-08-29 16:30:49 +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
UbitUmarov
ea1c232f92 revert droping udp packet resends after 6 retries, keep resending. 2014-08-21 00:08:43 +01:00
UbitUmarov
542118adf1 remove from use the UpdatesResend on resending udp packets. Just resend
the UDP packet. Also just loose packets we tried to send 6 times already
(ll says 3) A viewer may just beeing ignoring them, or then the link is just dead.
2014-08-20 18:55:06 +01:00
Justin Clark-Casey (justincc)
4e03d352c3 Extend drop command to "debug lludp drop <in|out>..." to allow drop of inbound packets.
For test/debug purposes.
2014-08-19 18:43:21 +01:00
Justin Clark-Casey (justincc)
298376d5c7 Add "debug lludp drop out <add|remove> <packet-name>" console command for debug/test purposes.
This drops all outbound packets that match a given packet name.
Can currently only be applied to all connections in a scene.
2014-08-19 18:34:17 +01:00
UbitUmarov
919aef1573 send zero velocity again on avatar full update or its ugly 2014-08-19 10:03:04 +01:00
UbitUmarov
8f0d35e59a fix the encoding of rotation in updates, not just using the next field to
override w bytes. ( specially having it commented )
2014-08-19 09:04:20 +01:00
UbitUmarov
505cbf9983 still another ... 2014-08-19 03:58:16 +01:00
UbitUmarov
4c46ebdbf5 fix a missed blocking of sending updates the the new attach points above
hud indexes
2014-08-19 03:47:26 +01:00
Justin Clark-Casey (justincc)
88b2fc61ff Add clientstack.<scene>.OQRERequestsWaiting stat
Only present if OQRE is enabled
2014-08-19 00:42:19 +01:00
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
Justin Clark-Casey (justincc)
b375f86f11 Make LLUDPServer.Scene publicly gettable/privately settable instead of 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.
2014-08-19 00:17:12 +01:00
UbitUmarov
1edaf29149 NextAnimationSequenceNumber be a udpserver variable with random start 2014-08-16 13:43:26 +01:00