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.

This commit is contained in:
Diva Canto
2015-05-08 20:53:28 -07:00
parent e5cf6a29fb
commit 0bf1209f90
10 changed files with 311 additions and 117 deletions

View File

@@ -610,6 +610,21 @@ namespace OpenSim.Services.InventoryService
return ConvertToOpenSim(items[0]);
}
public virtual InventoryItemBase[] GetMultipleItems(UUID userID, UUID[] ids)
{
InventoryItemBase[] items = new InventoryItemBase[ids.Length];
int i = 0;
InventoryItemBase item = new InventoryItemBase();
item.Owner = userID;
foreach (UUID id in ids)
{
item.ID = id;
items[i++] = GetItem(item);
}
return items;
}
public virtual InventoryFolderBase GetFolder(InventoryFolderBase folder)
{
XInventoryFolder[] folders = m_Database.GetFolders(