Commit Graph

3464 Commits

Author SHA1 Message Date
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
Justin Clark-Casey (justincc)
e0c6bfa81e If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region. 2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc)
91e1aaa5d4 On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
UbitUmarov
0ae8fed4c2 reduce ping cliping lower limit 2014-08-14 21:18:58 +01:00
UbitUmarov
a46d6004df reduce ping filter time constant 2014-08-14 21:04:30 +01:00
UbitUmarov
8c657e4837 add a estimator of client ping time, and painfully make it visible in show
connections console command
2014-08-14 20:41:36 +01:00
Justin Clark-Casey (justincc)
0db6f3a2bd Only set up the UnackedMethod for an outgoing message if that message is actually meant to get an ack (because it's reliable). 2014-08-13 22:57:14 +01:00
Melanie Thielker
b96f951a6a Merge branch 'ubitworkmaster' 2014-08-13 03:05:54 +02:00
Melanie Thielker
ecae45a21e Revert "make HandlerRegionHandshakeReply processing async and delay it a bit. This"
This reverts commit 30f00bfb14.

Conflicts:

	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2014-08-13 03:05:25 +02:00
UbitUmarov
cf48b814eb remove HandleCompleteMovementIntoRegion delay hack from llUDPserver. If we
need a delay, we need to do it at end of HandleUseCircuitCode before
feeding pending packets (including that one) into processing queue.
2014-08-13 01:42:16 +01:00
UbitUmarov
0760fa3106 process AgentUpdates in order with rest of packets. Only give higher priority to chat 2014-08-13 00:17:03 +01:00
UbitUmarov
20b3cab5d1 take agentUpdate checks out of llUDPserver (disabling useless debug) and
do it only where its supposed to be done..
2014-08-12 23:57:41 +01:00
UbitUmarov
f811efde85 do the significance test invalidation at MoveAgentToRegion 2014-08-12 22:36:17 +01:00
UbitUmarov
b9224a70c4 no need to go from cos into squared sin when just abs of cos is as good 2014-08-12 22:27:50 +01:00
UbitUmarov
dbbfaf3ac3 force AgentUpdate after CompleteAgentMovement to pass by significance test 2014-08-12 22:17:15 +01:00
UbitUmarov
c0378d5430 actually let delay match throttles as original design 2014-08-10 16:36:20 +01:00
UbitUmarov
ebc18a80bf OutgoingPacketHandler can not be paced by hits on SendPacket() 2014-08-10 14:49:58 +01:00
UbitUmarov
c84a3c3630 also on other case 2014-08-09 16:22:46 +01:00
UbitUmarov
601c50dc1e return even zero costs ( prims on other regions ) 2014-08-09 16:19:07 +01:00
UbitUmarov
2eb1c1c377 move from RegisterInventoryServiceHandlers to
RegisterRegionServiceHandlers what belongs there ( readabilitly only )
2014-08-09 15:15:27 +01:00
Melanie Thielker
5628c0bcd6 Reduce delay time on regin handshake reply to speed up terrain sending.
Terrain IS more important than avatar!
2014-08-07 23:54:38 +02:00
UbitUmarov
dfa9ba0937 minor clean, dont check for cache if we aren't using it.. 2014-08-07 08:47:03 +01:00