From c74cef0f4261191962959e42c7e349adafd42a04 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Thu, 7 May 2015 19:24:08 -0700
Subject: 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.
---
.../SimianGrid/SimianInventoryServiceConnector.cs | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Services/Connectors/SimianGrid')
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
index 9ded1c4..0331c66 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
@@ -340,7 +340,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
{
InventoryCollection inventory = new InventoryCollection();
- inventory.UserID = userID;
+ inventory.OwnerID = userID;
NameValueCollection requestArgs = new NameValueCollection
{
@@ -371,6 +371,18 @@ namespace OpenSim.Services.Connectors.SimianGrid
return inventory;
}
+ public virtual InventoryCollection[] GetMultipleFoldersContent(UUID principalID, UUID[] folderIDs)
+ {
+ InventoryCollection[] invColl = new InventoryCollection[folderIDs.Length];
+ int i = 0;
+ foreach (UUID fid in folderIDs)
+ {
+ invColl[i++] = GetFolderContent(principalID, fid);
+ }
+
+ return invColl;
+ }
+
///
/// Gets the items inside a folder
///
@@ -380,7 +392,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
public List GetFolderItems(UUID userID, UUID folderID)
{
InventoryCollection inventory = new InventoryCollection();
- inventory.UserID = userID;
+ inventory.OwnerID = userID;
NameValueCollection requestArgs = new NameValueCollection
{
--
cgit v1.1