aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs8
-rw-r--r--OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs6
2 files changed, 12 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index 77abcd7..59c2179 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -304,6 +304,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
304 m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name); 304 m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name);
305 305
306 List<AvatarAttachment> attachments = sp.Appearance.GetAttachments(); 306 List<AvatarAttachment> attachments = sp.Appearance.GetAttachments();
307
308 // Let's get all items at once, so they get cached
309 UUID[] items = new UUID[attachments.Count];
310 int i = 0;
311 foreach (AvatarAttachment attach in attachments)
312 items[i++] = attach.ItemID;
313 m_scene.InventoryService.GetMultipleItems(sp.UUID, items);
314
307 foreach (AvatarAttachment attach in attachments) 315 foreach (AvatarAttachment attach in attachments)
308 { 316 {
309 uint attachmentPt = (uint)attach.AttachPoint; 317 uint attachmentPt = (uint)attach.AttachPoint;
diff --git a/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs b/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
index a68ec5a..597d92b 100644
--- a/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
+++ b/OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
@@ -62,7 +62,7 @@ namespace OpenSim.Services.Connectors
62 /// </remarks> 62 /// </remarks>
63 private int m_requestTimeoutSecs = -1; 63 private int m_requestTimeoutSecs = -1;
64 64
65 private const double CACHE_EXPIRATION_SECONDS = 8.0; 65 private const double CACHE_EXPIRATION_SECONDS = 20.0;
66 private static ExpiringCache<UUID, InventoryItemBase> m_ItemCache = new ExpiringCache<UUID,InventoryItemBase>(); 66 private static ExpiringCache<UUID, InventoryItemBase> m_ItemCache = new ExpiringCache<UUID,InventoryItemBase>();
67 67
68 public XInventoryServicesConnector() 68 public XInventoryServicesConnector()
@@ -244,7 +244,7 @@ namespace OpenSim.Services.Connectors
244 public virtual InventoryCollection[] GetMultipleFoldersContent(UUID principalID, UUID[] folderIDs) 244 public virtual InventoryCollection[] GetMultipleFoldersContent(UUID principalID, UUID[] folderIDs)
245 { 245 {
246 InventoryCollection[] inventoryArr = new InventoryCollection[folderIDs.Length]; 246 InventoryCollection[] inventoryArr = new InventoryCollection[folderIDs.Length];
247 //m_log.DebugFormat("[XXX]: In GetMultipleFoldersContent {0}", folderIDs.Length); 247 // m_log.DebugFormat("[XXX]: In GetMultipleFoldersContent {0}", String.Join(",", folderIDs));
248 try 248 try
249 { 249 {
250 Dictionary<string, object> resultSet = MakeRequest("GETMULTIPLEFOLDERSCONTENT", 250 Dictionary<string, object> resultSet = MakeRequest("GETMULTIPLEFOLDERSCONTENT",
@@ -544,6 +544,8 @@ namespace OpenSim.Services.Connectors
544 544
545 public virtual InventoryItemBase[] GetMultipleItems(UUID principalID, UUID[] itemIDs) 545 public virtual InventoryItemBase[] GetMultipleItems(UUID principalID, UUID[] itemIDs)
546 { 546 {
547 //m_log.DebugFormat("[XXX]: In GetMultipleItems {0}", String.Join(",", itemIDs));
548
547 InventoryItemBase[] itemArr = new InventoryItemBase[itemIDs.Length]; 549 InventoryItemBase[] itemArr = new InventoryItemBase[itemIDs.Length];
548 // Try to get them from the cache 550 // Try to get them from the cache
549 List<UUID> pending = new List<UUID>(); 551 List<UUID> pending = new List<UUID>();