Commit Graph

330 Commits

Author SHA1 Message Date
Diva Canto
a412b1d682 Moved SendInitialDataToMe to earlier in CompleteMovement. Moved TriggerOnMakeRootAgent to the end of CompleteMovement.
Justin, if you read this, there's a long story here. Some time ago you placed SendInitialDataToMe at the very beginning of client creation (in LLUDPServer). That is problematic, as we discovered relatively recently: on TPs, as soon as the client starts getting data from child agents, it starts requesting resources back *from the simulator where its root agent is*. We found this to be the problem behind meshes missing on HG TPs (because the viewer was requesting the meshes of the receiving sim from the departing grid). But this affects much more than meshes and HG TPs. It may also explain cloud avatars after a local TP: baked textures are only stored in the simulator, so if a child agent receives a UUID of a baked texture in the destination sim and requests that texture from the departing sim where the root agent is, it will fail to get that texture.
Bottom line: we need to delay sending the new simulator data to the viewer until we are absolutely sure that the viewer knows that its main agent is in a new sim. Hence, moving it to CompleteMovement.
Now I am trying to tune the initial rez delay that we all experience in the CC. I think that when I fixed the issue described above, I may have moved SendInitialDataToMe to much later than it should be, so now I'm moving to earlier in CompleteMovement.
2013-07-13 09:46:58 -07:00
Diva Canto
29f6ae199e Changed UploadBakedTextureModule so that it uses the same pattern as the others, in preparation for experiments to direct baked texture uploads to a robust instance. No functional or configuration changes -- should work exactly as before. 2013-07-12 12:53:58 -07:00
Diva Canto
604967b31e Switched UUIDNameRequest and RegionHandleRequest to Sync, because now they are also non-blocking handlers. 2013-07-11 09:47:46 -07:00
Diva Canto
3b48b6a792 Switched TransferRequest (UDP packet handler) to sync. The permissions checks may block, so they get a FireAndForget. Everything else is non-blocking. 2013-07-11 09:44:48 -07:00
Diva Canto
9173130fde Switched RegionHandshakeReply to Sync, because it's not doing anything blocking. 2013-07-10 20:48:13 -07:00
Diva Canto
fe5da43d15 EXPERIMENTAL: make RequestImage (UDP packet handler) sync instead of async. This _shouldn't_ screw things up, given that all this does is to dump the request in a queue. 2013-07-10 19:29:14 -07:00
Diva Canto
1b265b213b Added show client-stats [first last] command to expose what viewers are requesting. 2013-07-10 16:09:45 -07:00
Robert Adams
38e6da5522 Comment out old inbound UDP throttling hack. This would cause the UDP
reception thread to sleep for 30ms if the number of available user worker
threads got low. It doesn't look like any of the UDP packet types are
marked async so this check is 1) unnecessary and 2) really crazy since
it stops up the reception thread under heavy load without any indication.
2013-07-09 18:34:24 -07:00
Justin Clark-Casey (justincc)
095066b1ce Handle UUIDNameRequest UDP packet processing async instead of within the main inbound UDP processing loop, to avoid any chance that this is delaying the main udp in loop.
The potential impact of this should be lower now that these requests are being placed on a queue.
2013-07-09 23:39:29 +01:00
Justin Clark-Casey (justincc)
013710168b For stat purposes, add names to capability request handlers where these were not set 2013-07-08 22:39:07 +01:00
Justin Clark-Casey (justincc)
e19defde36 Add "show caps stats by user" and "show caps stats by cap" console commands to print various counts of capability invocation by user and by cap
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
2013-07-08 22:03:07 +01:00
Justin Clark-Casey (justincc)
98de67d573 Fix mono warning in LLImageManagerTests 2013-07-06 00:55:14 +01:00
Justin Clark-Casey (justincc)
55ac8c83c7 Get InventoryWorkerThreads to update watchdog on processing requests 2013-07-06 00:34:22 +01:00
Justin Clark-Casey (justincc)
16f40c1a15 Add --default option to "debug lludp packet" command to allow packet logging to be performed immediately from client start 2013-07-04 17:29:53 +01:00
Justin Clark-Casey (justincc)
25889b2d7e change "debug packet" command to "debug lludp packet" to conform with other "debug lludp" options
also moves the implementing code into LLUDPServer.cs along with other debug commands from OpenSim.cs
gets all debug lludp commands to only activate for the set scene if not root
2013-07-04 00:02:53 +01:00
Diva Canto
ccca005969 HG: close a loophole by which if something was wrong with the ServiceURLs it resulted in never ending asset requests 2013-07-02 13:29:44 -07:00
Justin Clark-Casey (justincc)
713a14a6b5 minor: remove mono compiler warnings in WebFetchInvDescModule 2013-06-17 23:23:56 +01:00
Justin Clark-Casey (justincc)
b9dac1f8df Fix test failure in BasicCircuitTests from previous commit 0d2fd0d9 2013-06-17 23:17:55 +01:00
Justin Clark-Casey (justincc)
d412c1b0eb Don't try to abort worker threads in WebFetchInvDescModule if module was not enabled.
This also moves the abort to RemoveRegion() rather than a destructor.
2013-06-14 23:53:20 +01:00
Melanie
3a722ef81b Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2013-06-07 23:59:02 +01:00
Diva Canto
6aa54a8e16 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-06-07 16:01:07 -07:00
Diva Canto
07cc16ff9c Put the configuration back in FetchInventoryDesc2 cap. 2013-06-07 16:00:32 -07:00
Melanie
75631e0267 Supply proper type information for the various types of requests 2013-06-07 23:55:03 +01:00
Melanie
7c0bfca7a0 Adding Avination's PollService to round out the HTTP inventory changes 2013-06-07 23:43:45 +01:00
Justin Clark-Casey (justincc)
454499ff60 minor: Comment out debug logging (at warn level) about number of objects force selected and turn down to debug level 2013-06-07 23:38:23 +01:00
Melanie
a7dbafb0e3 Port Avination's inventory send throttling 2013-06-05 23:42:50 +01:00
Melanie
533bbf033d Update the money framework to allow sending the new style linden "serverside is now viewerside" messages regarding currency
This will require all money modules to be refactored!
2013-05-25 02:08:54 +01:00
Mic Bowman
681fbda4b6 This is an experimental patch that adds support for comparing texture
hashes for the purpose of accurately responding to AgentTextureCached
packets. There is a change to IClientAPI to report the wearbles hashes
that come in through the SetAppearance packet. Added storage of the
texture hashes in the appearance. While these are added to the
Pack/Unpack (with support for missing values) routines (which means
Simian will store them properly), they are not currently persisted in
Robust.
2013-05-24 13:18:16 -07:00
Justin Clark-Casey (justincc)
df2a0fec5f Comment out log message about looking for asset data in remove asset service for now, in order to reduce log levels in a test region with many hg origin avatars 2013-05-14 20:11:58 +01:00
Diva Canto
91091c3e54 Second take at HGTP-mesh bug: delay sending the initial data only for agents that are coming via TP (root agents) 2013-05-14 09:06:58 -07:00
Diva Canto
645da54f25 Revert "HGTP-mesh bug: the mesh download requests were going to the departing sims for a little while. This was also true for local TPs. BUt for local TPs the assets are on the same server, so it doesn't matter. For HGTPs, it matters. This potential fix moves sending the initial data to later, after the client has completed the movement into the region. Fingers crossed that it doesn't mess other things up!"
This reverts commit f32a21d967.
2013-05-14 08:47:18 -07:00
Diva Canto
f32a21d967 HGTP-mesh bug: the mesh download requests were going to the departing sims for a little while. This was also true for local TPs. BUt for local TPs the assets are on the same server, so it doesn't matter. For HGTPs, it matters. This potential fix moves sending the initial data to later, after the client has completed the movement into the region. Fingers crossed that it doesn't mess other things up! 2013-05-14 08:12:01 -07:00
Diva Canto
a1031772eb Delete debug message 2013-05-10 08:09:26 -07:00
Justin Clark-Casey (justincc)
3290cd09d3 remove pointless region handle paramter from IClientAPI.SendKillObject() 2013-05-09 18:12:17 +01:00
Mic Bowman
33aaa40bee Adds an event and a method so that handling of the CachedTexture
packet can be pulled out of LLClientView and moved to
AvatarFactory. The first pass at reusing textures (turned off by
default) is included. When reusing textures, if the baked textures
from a previous login are still in the asset service (which generally
means that they are in the simulator's cache) then the avatar will not
need to rebake. This is both a performance improvement (specifically
that an avatars baked textures do not need to be sent to other users
who have the old textures cached) and a resource improvement (don't
have to deal with duplicate bakes in the asset service cache).
2013-05-08 13:13:51 -07:00
Diva Canto
e92c05ebbd Added AvatarPickerSearch capability handler. 2013-05-07 18:01:48 -07:00
Melanie
ac135c649c Fix CAPS to work like they should - do not send caps to the viewer if they're not in the requested caps list.
The previous wrong behavior caused the debug setting "UseHTTPInventory" to fail
on all viewers when turned off. UDB inventory would not be correctly used in
that case.
2013-04-30 23:50:23 +01:00
Justin Clark-Casey (justincc)
537b243360 minor: Eliminate warning in LLimageManagerTests by properly calling through to OpenSimTestCase.SetUp() 2013-04-29 22:18:11 +01:00
Melanie
03c9d8ae4f Change EconomyDataRequest signature to use an IClientAPI rather than UUID. This is needed because recent LL viewer codebases call this earlier in login when the client is not yet established in the sim and can't be found by UUID.
Sending the reply requires having the IClientAPI.
2013-04-25 21:35:18 +01:00
Melanie
293a024c14 Allow callers to set the invoice parameter for GenericMessage 2013-04-22 22:39:08 +01:00
dahlia
7c839f176f amend previous commit, a line was left out 2013-04-17 23:14:28 -07:00
dahlia
53122fad40 Thanks lkalif for a fix to SendRegionHandshake() which fixes a potential crash with Server-side baking enabled viewers 2013-04-17 23:10:02 -07:00
Justin Clark-Casey (justincc)
c5de9840b0 refactor: Remove IClientNetworkServer.NetworkStop() in favour of existing Stop().
This was an undocumented interface which I think was for long defunct region load balancing experiments.
Also adds method doc for some IClientNetworkServer methods.
2013-04-16 21:58:24 +01:00
Justin Clark-Casey (justincc)
617637c788 minor: Fix usage error message for "debug eq" console command 2013-03-28 01:41:41 +00:00
Justin Clark-Casey (justincc)
876d0d310f Add "show eq" console command to show numbers of messages in agent event queues.
For debugging purposes.
2013-03-28 01:36:34 +00:00
Melanie
e82fab34d7 Implement a pref to turn on the simulator ExportSupported feature entry.
This tells the viewer to enable the UI for export permissions.
WARNING: If your inventory store contains invalid flags data, this will result
in items becoming exportable! Don't turn this on in production until it's complete!
2013-03-26 19:00:30 +00:00
Melanie
5f4c4df227 Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Robert Adams
c10c43d6f6 Fix server statistics always reporting zero for total network bytes in/out.
Clean up some parameter code in Statistics.Binary.
2013-03-15 13:59:34 -07:00
Justin Clark-Casey (justincc)
f8a4d95bdd minor: Remove mono compiler warning in LLClientView 2013-03-13 00:22:07 +00:00
Justin Clark-Casey (justincc)
e898a5fec5 minor: Remove mono compiler warnings in EventQueueTests 2013-03-11 22:42:27 +00:00