Made HandleFetchInventoryDescendents async, so that the client thread doesn't wait for the download of the entire inventory.

This commit is contained in:
Diva Canto
2009-08-20 22:36:47 -07:00
parent 9e64427262
commit e4f64dd714
2 changed files with 18 additions and 5 deletions

View File

@@ -441,9 +441,24 @@ namespace OpenSim.Region.Framework.Scenes
return;
}
// We're going to send the reply async, because there may be
// an enormous quantity of packets -- basically the entire inventory!
// We don't want to block the client thread while all that is happening.
SendInventoryDelegate d = SendInventoryAsync;
d.BeginInvoke(remoteClient, folderID, ownerID, fetchFolders, fetchItems, sortOrder, SendInventoryComplete, d);
}
delegate void SendInventoryDelegate(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder);
void SendInventoryAsync(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder)
{
SendInventoryUpdate(remoteClient, new InventoryFolderBase(folderID), fetchFolders, fetchItems);
}
}
void SendInventoryComplete(IAsyncResult iar)
{
}
/// <summary>
/// Handle the caps inventory descendents fetch.
///