Commit Graph

174 Commits (61ad58310beb7f56c5367e58131620e660194af4)

Author SHA1 Message Date
UbitUmarov 08187cb599 inventory mess return to the state before divas cache issue 2015-09-11 20:40:10 +01:00
UbitUmarov 7841628313 change to avn fecthinventory and webfecth.. code 2015-09-11 16:25:46 +01:00
UbitUmarov 1c93be198b comment a large debug message 2015-09-04 19:41:27 +01:00
UbitUmarov a11edceb00 seems to compile ( tests comented out) 2015-09-02 19:54:53 +01:00
UbitUmarov 371c9dd2af bad merge? 2015-09-01 14:54:35 +01:00
UbitUmarov 018d855f28 turn off KeepAlive 2015-08-24 07:38:33 +01:00
UbitUmarov 05d72f77ff do keepalive on mesh and texture GET. Dont use reusecontext any where.
setting of keepalive is wrong, it should follow the requested one ( or
always as http1.1) only deny if needed (errors). KeepAlive may increase
stress on number of avaiable file descritors.
2015-08-18 21:32:03 +01:00
Diva Canto 959872315f WARNING: massive refactor to follow libomv's latest changes regarding inventory folders. The newest version of libomv itself is committed here. Basically, everything that was using the AssetType enum has been combed through; many of those uses were changed to the new FolderType enum.
This means that from now on, [new] root folders have code 8 (FolderType.Root), as the viewers expect, as opposed to 9, which was what we had been doing. Normal folders are as they were, -1. Also now sending folder code 100 for Suitcase folders to viewers, with no filter.
All tests pass, but fingers crossed!
2015-08-08 12:12:50 -07:00
Oren Hurvitz 14b4d8bad7 Eliminated several warnings 2015-07-31 18:13:39 +03:00
Diva Canto b5ac0e1ab8 FetchInventoryDescendents2: Signal to the viewer that folder with UUID.Zero is a bad folder. Don't even go to the backend to ask for it, because that will likely kill the sim. Apparently Firestorm requests folder Zero quite often. 2015-06-23 14:24:55 -07:00
Diva Canto 52d9ea1cee Mantis #7603 -- bad folders in inventory could produce null pointer exception. Thanks for the line numbers in the exception trace. 2015-06-04 19:57:01 -07:00
Diva Canto ea5aa82c2c Mantis #7567. Once again, avoiding prefetching linked items within linked folders. Also fixing the inventory connector GetMultipleItems, so that if everything is in the cache, it returns successfully rather than unsuccessfully. 2015-06-04 06:58:07 -07:00
Diva Canto bac53387a9 Mantis #7567: added an 8-sec expiring item cache to the inventory network connector. This fixed the problem on my local test grid and generally made things faster. This cache has been needed for a while... there are many parts in the code where the sim gets an item multiple times in a short amount of time (rezzing attachs and objects, for example).
Other minor changes:
- added the scene as a parameter to the constructor od FetchInvDescHandler, so that I could see in which scene the handler was being called
- brought linked items in linked folders back to being prefetched
2015-06-03 17:42:41 -07:00
Diva Canto 3141664d6b I suspect the viewer doesn't need the target of linked items inside linked folders to go in the reply of the original request. At least my tests indicate that. Pushing this out, so that others who use linked folders a lot more can verify. 2015-06-02 16:31:56 -07:00
Diva Canto 0531448664 New unit tests for FetchInventory2 cap. 2015-06-02 15:48:16 -07:00
Diva Canto be6fb22d69 Mantis #7567. One of the reported log messages showed this:
09:38:40 - [LOGHTTP]: Slow handling of 15572 POST /CAPS/b12c7e98-8261-4953-b7d1-1c414c9893fc FetchInventory2 8acfbca3-13b5-434f-898c-5f4bbe8a76ff from 92.237.199.112:60083 took 62391ms
FetchInventory itself wasn't taking advantage of the new inventory API. This commit fixes that.
2015-06-02 15:40:13 -07:00
Diva Canto 8de65a8fb3 Mantis #7594: putting things as they were before regarding duplicate removal. Also added test to check that duplicates are being removed. The test passes. I have no idea how duplicates would not be removed, as reported in the mantis. 2015-06-01 20:05:51 -07:00
Diva Canto 442c025335 Mantis #7594. Fixing the broken code I just introduced. 2015-06-01 18:57:01 -07:00
Diva Canto 7b5e97f04f More on mantis #7594, this a=time addressing the reported exception, which seems to be a separate issue from the duplicate folders. 2015-06-01 16:37:04 -07:00
Diva Canto 7effd3b158 Mantis #7594. This should be functionally equivalent to what it was, but just in case mono has a bug in List<T>.Find, here is the Linq equivalent of distinct-ness. 2015-06-01 15:11:30 -07:00
Diva Canto 05737a1010 Improved comments on fetch inventory tests 2015-05-10 08:59:33 -07:00
Diva Canto f992ed0f40 Added unit tests for FetchInventoryDescendents http://wiki.secondlife.com/wiki/Linden_Lab_Official:Inventory_API#Fetch_Inventory_Descendents
Also, consolidated the location of the files that handle inventory capabilities.
2015-05-10 08:44:21 -07:00
Diva Canto adf0f49a69 Fix mantis #7054: AO in Firestorm and Kokua stopped loading after new inventory code in place. Cause: # of descendants was wrong. 2015-05-09 08:58:59 -07:00
Diva Canto 0bf1209f90 Another major overhaul of inventory downloading, this time pertaining to inventory links. Added yet another function to IInventoryService to get multiple items at once, so that fetching collections of linked items is done once per folder instead of once per item. 2015-05-08 20:53:28 -07:00
Diva Canto e5cf6a29fb Restore handling of bad folders. I'm not entirely sure this is part of the protocol -- I don't see it here: http://wiki.secondlife.com/wiki/Linden_Lab_Official:Inventory_API#Fetch_inventory_descendents
But who knows!
2015-05-08 17:02:02 -07:00
Diva Canto 3110b1661f Apparently Firestorm sometimes sends duplicate folder ids on the same request (see http://opensimulator.org/mantis/view.php?id=7054#c28297). This was throwing the new inventory download code off.
Firestorm also sends requests for folder UUID.Zero, which doesn't exist, but doesn't cause any problems either -- it just fails. I'm leaving the warning message for now, just to keep an eye on which folders can't be found, but may remove it in the future.
2015-05-08 08:37:31 -07:00
Diva Canto a68aab14fa Additional debug message to help diagnose a warning message and exception related to previous commit.
See http://opensimulator.org/mantis/view.php?id=7054#c28282
2015-05-08 06:57:06 -07:00
Diva Canto c74cef0f42 Major change in the way inventory is downloaded: added a method throughout IIventoryService that fetches sets of folders at once. Also added folder id in the InventoryCollection data structure, so that we don't need to go to inventory server again just for that. This reduces the chatter between sims and inventory server by... a lot. On my tests, this reduces initial inventory download down to 30% of what it currently is. 2015-05-07 19:24:08 -07:00
Diva Canto da32512ea4 Updated all occurrences of AssemblyVersion("0.8.1.*") to AssemblyVersion("0.8.2.*") 2015-04-29 18:47:17 -07:00
Freaky Tech 4de10a45e9 revised GetMesh to not use intermediate base64 coding scheme
it delivers binary and has binary as input.
base64 intermediate coding makes no sense.

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-05 18:15:42 -05:00
Freaky Tech 53100b93c7 corrected bug that viewer cannot correctly fetch ItemData when being a HG visitor
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 19:09:30 -05:00
Freaky Tech bf96f06d1e corrected response when a not existing folder is requested by a viewer in that case the response has to report it as bad_folders with uuid instead of returning some dummy
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 15:34:47 -05:00
Justin Clark-Casey (justincc) 87936947ab As per advice from Singularity devs, set is_display_name_default = true in GetDisplayName cap return data to make the single name appear.
This is still always your avatar name - code to set a different display is not yet implemented.
This works from my testing with current Firestorm and Singuarity releases.
2015-01-31 00:17:59 +00:00
Justin Clark-Casey (justincc) c5c1b7c61a Revert "Stop currently unsettable display names from appearing when [ClientStack.LindenCaps] Cap_GetDisplayNames = "localhost" is set by never passing the username."
This reverts commit 2d574c3036.
2015-01-31 00:17:36 +00:00
Justin Clark-Casey (justincc) 3289aa3bcd Revert "In GetDisplayNames, if user last name is Resident then only send first name for display."
Reverting at this point since it may not work well with all viewers.
Requires further investigation.

This reverts commit a29d53986a.
2015-01-24 00:51:45 +00:00
Justin Clark-Casey (justincc) a29d53986a In GetDisplayNames, if user last name is Resident then only send first name for display.
This is to match existing behaviour with UDP behaviour where this is masked out.
And to make it consistent with other places where viewers mask this out themselves.
Relates to http://opensimulator.org/mantis/view.php?id=7408
2015-01-23 23:17:49 +00:00
Justin Clark-Casey (justincc) 2d574c3036 Stop currently unsettable display names from appearing when [ClientStack.LindenCaps] Cap_GetDisplayNames = "localhost" is set by never passing the username.
Unexpectedly, not setting user name achieves this whereas one might have expected it to be done by not setting display_name in the cap OSD.
Emulates LL behaviour when no display name is set.
Relates to http://opensimulator.org/mantis/view.php?id=7408
2015-01-21 22:26:35 +00:00
Diva Canto 8cc590cf80 And finally renamed the classes themselves. 2015-01-13 22:21:50 -08:00
Diva Canto 034fc325c0 Renamed the folder too. 2015-01-13 21:25:11 -08:00
Diva Canto a626de696a Renamed these 2 files, because their names are misleading. This is no longer called WebFetchInventoryDescendents, and we no longer use that cap; the viewers use FetchInvventoryDescendents2. 2015-01-13 21:24:01 -08:00
Diva Canto e2dd15625f Added GetDisplayNames capability. For now, we don't actually use display names, and this cap returns the regular name. But this moves the server side into the newer, preferred, protocol used by the viewer for fetching the names of agents in the scene given their UUIDs. (the old protocol is via UDP). This works fine in my limited tests, but could use further testing by others. 2015-01-09 08:31:56 -08: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) 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
UbitUmarov bfb5185747 lso remove caps with "PUT" http method 2014-10-14 02:25:22 +01:00
UbitUmarov 74efe1e393 explicitly force a reset to the event on creation
#Please enter the commit message for your changes. Lines starting
2014-08-09 15:08:21 +01:00
Justin Clark-Casey (justincc) 56a623ac0c Fix issue with TestTextureNotFound in previous commit 1e3027a
Stop failure by actually giving the test handler a path instead of null
2014-07-26 01:56:42 +01:00
root 1a9c14b041 Revert "Removed unused files: Texture/Mesh server connectors"
This reverts commit f6ea5088f4.
2014-07-21 21:25:48 +00:00
Oren Hurvitz f6ea5088f4 Removed unused files: Texture/Mesh server connectors 2014-07-21 08:30:23 +01:00
Oren Hurvitz 99ac770abb Close streams immediately when we finish using them 2014-07-21 08:30:03 +01:00
Justin Clark-Casey (justincc) 5450b1b024 Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00