aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorDiva Canto2009-08-20 22:36:47 -0700
committerDiva Canto2009-08-20 22:36:47 -0700
commite4f64dd7147001e1e0ac9bd4a51efec086727b29 (patch)
tree9a025be0ebbdf7193774e197b44391a8086e6b39 /OpenSim/Region
parentPutting the inventory packets back to ThrottleOutPacketType.Asset, because th... (diff)
downloadopensim-SC-e4f64dd7147001e1e0ac9bd4a51efec086727b29.zip
opensim-SC-e4f64dd7147001e1e0ac9bd4a51efec086727b29.tar.gz
opensim-SC-e4f64dd7147001e1e0ac9bd4a51efec086727b29.tar.bz2
opensim-SC-e4f64dd7147001e1e0ac9bd4a51efec086727b29.tar.xz
Made HandleFetchInventoryDescendents async, so that the client thread doesn't wait for the download of the entire inventory.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs19
1 files changed, 17 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
index d722e23..2b815a2 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
@@ -441,9 +441,24 @@ namespace OpenSim.Region.Framework.Scenes
441 return; 441 return;
442 } 442 }
443 443
444 // We're going to send the reply async, because there may be
445 // an enormous quantity of packets -- basically the entire inventory!
446 // We don't want to block the client thread while all that is happening.
447 SendInventoryDelegate d = SendInventoryAsync;
448 d.BeginInvoke(remoteClient, folderID, ownerID, fetchFolders, fetchItems, sortOrder, SendInventoryComplete, d);
449 }
450
451 delegate void SendInventoryDelegate(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder);
452
453 void SendInventoryAsync(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder)
454 {
444 SendInventoryUpdate(remoteClient, new InventoryFolderBase(folderID), fetchFolders, fetchItems); 455 SendInventoryUpdate(remoteClient, new InventoryFolderBase(folderID), fetchFolders, fetchItems);
445 } 456 }
446 457
458 void SendInventoryComplete(IAsyncResult iar)
459 {
460 }
461
447 /// <summary> 462 /// <summary>
448 /// Handle the caps inventory descendents fetch. 463 /// Handle the caps inventory descendents fetch.
449 /// 464 ///