aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-03-29 22:18:44 +0000
committerJustin Clarke Casey2008-03-29 22:18:44 +0000
commit875211b262ecda2eced68b217221dead20cbdb6b (patch)
treee84ecb6149076e71ce6d9fedeea5f0c49ca46d93 /OpenSim/Grid
parent* Updating ODE Libraries to release / dNODEBUG (diff)
downloadopensim-SC-875211b262ecda2eced68b217221dead20cbdb6b.zip
opensim-SC-875211b262ecda2eced68b217221dead20cbdb6b.tar.gz
opensim-SC-875211b262ecda2eced68b217221dead20cbdb6b.tar.bz2
opensim-SC-875211b262ecda2eced68b217221dead20cbdb6b.tar.xz
* Various 1.19.0.5 grid inventory request fixes. These will only take affect once the region and the grid servers have upgraded to this revision
* You may also need to clear your cache before seeing any effect. * These fixes may or may not affect inventory on the RC client. * These fixes should make non-root folders work better, stop inventory failure on first login, allow trash to be emptied and make texture picker in object edit view work properly * Fixes are 1) make initial root folder request wait for async inventory delivery, 2) deliver all folders in the initial login skeleton, not just the root child ones and 3) deal with situations where we receive child folders from the inventory service before their parent is received.
Diffstat (limited to '')
-rw-r--r--OpenSim/Grid/InventoryServer/GridInventoryService.cs18
-rw-r--r--OpenSim/Grid/InventoryServer/Main.cs31
-rw-r--r--OpenSim/Grid/UserServer/UserLoginService.cs2
3 files changed, 35 insertions, 16 deletions
diff --git a/OpenSim/Grid/InventoryServer/GridInventoryService.cs b/OpenSim/Grid/InventoryServer/GridInventoryService.cs
index ea85d5f..cfe06e8 100644
--- a/OpenSim/Grid/InventoryServer/GridInventoryService.cs
+++ b/OpenSim/Grid/InventoryServer/GridInventoryService.cs
@@ -108,8 +108,7 @@ namespace OpenSim.Grid.InventoryServer
108 { 108 {
109 LLUUID userID = new LLUUID(rawUserID); 109 LLUUID userID = new LLUUID(rawUserID);
110 110
111 // We get enough verbose messages later on for diagnostics 111 m_log.Info("[GRID INVENTORY]: Request for inventory of " + userID.ToString());
112 //m_log.Info("[INVENTORY]: Request for inventory for " + userID.ToString());
113 112
114 InventoryCollection invCollection = new InventoryCollection(); 113 InventoryCollection invCollection = new InventoryCollection();
115 List<InventoryFolderBase> folders; 114 List<InventoryFolderBase> folders;
@@ -120,6 +119,21 @@ namespace OpenSim.Grid.InventoryServer
120 invCollection.Folders = folders; 119 invCollection.Folders = folders;
121 invCollection.UserID = userID; 120 invCollection.UserID = userID;
122 } 121 }
122
123// foreach (InventoryFolderBase folder in folders)
124// {
125// m_log.DebugFormat(
126// "[GRID INVENTORY]: Sending back folder {0}, {1}",
127// folder.name, folder.folderID);
128// }
129//
130// foreach (InventoryItemBase item in allItems)
131// {
132// m_log.DebugFormat(
133// "[GRID INVENTORY]: Sending back item {0}, {1}, folder {2}",
134// item.inventoryName, item.inventoryID, item.parentFolderID);
135// }
136
123 return invCollection; 137 return invCollection;
124 } 138 }
125 139
diff --git a/OpenSim/Grid/InventoryServer/Main.cs b/OpenSim/Grid/InventoryServer/Main.cs
index ea056a0..009f3f1 100644
--- a/OpenSim/Grid/InventoryServer/Main.cs
+++ b/OpenSim/Grid/InventoryServer/Main.cs
@@ -83,29 +83,32 @@ namespace OpenSim.Grid.InventoryServer
83 protected void AddHttpHandlers() 83 protected void AddHttpHandlers()
84 { 84 {
85 m_httpServer.AddStreamHandler( 85 m_httpServer.AddStreamHandler(
86 new RestDeserialisehandler<Guid, InventoryCollection>("POST", "/GetInventory/", 86 new RestDeserialisehandler<Guid, InventoryCollection>(
87 m_inventoryService.GetUserInventory)); 87 "POST", "/GetInventory/", m_inventoryService.GetUserInventory));
88
88 m_httpServer.AddStreamHandler( 89 m_httpServer.AddStreamHandler(
89 new RestDeserialisehandler<Guid, bool>("POST", "/CreateInventory/", 90 new RestDeserialisehandler<Guid, bool>(
90 m_inventoryService.CreateUsersInventory)); 91 "POST", "/CreateInventory/", m_inventoryService.CreateUsersInventory));
92
91 m_httpServer.AddStreamHandler( 93 m_httpServer.AddStreamHandler(
92 new RestDeserialisehandler<InventoryFolderBase, bool>("POST", "/NewFolder/", 94 new RestDeserialisehandler<InventoryFolderBase, bool>(
93 m_inventoryService.AddInventoryFolder)); 95 "POST", "/NewFolder/", m_inventoryService.AddInventoryFolder));
94 96
95 m_httpServer.AddStreamHandler( 97 m_httpServer.AddStreamHandler(
96 new RestDeserialisehandler<InventoryFolderBase, bool>("POST", "/MoveFolder/", 98 new RestDeserialisehandler<InventoryFolderBase, bool>(
97 m_inventoryService.MoveInventoryFolder)); 99 "POST", "/MoveFolder/", m_inventoryService.MoveInventoryFolder));
98 100
99 m_httpServer.AddStreamHandler( 101 m_httpServer.AddStreamHandler(
100 new RestDeserialisehandler<InventoryItemBase, bool>("POST", "/NewItem/", 102 new RestDeserialisehandler<InventoryItemBase, bool>(
101 m_inventoryService.AddInventoryItem)); 103 "POST", "/NewItem/", m_inventoryService.AddInventoryItem));
104
102 m_httpServer.AddStreamHandler( 105 m_httpServer.AddStreamHandler(
103 new RestDeserialisehandler<InventoryItemBase, bool>("POST", "/DeleteItem/", 106 new RestDeserialisehandler<InventoryItemBase, bool>(
104 m_inventoryService.DeleteInvItem)); 107 "POST", "/DeleteItem/", m_inventoryService.DeleteInvItem));
105 108
106 m_httpServer.AddStreamHandler( 109 m_httpServer.AddStreamHandler(
107 new RestDeserialisehandler<Guid, List<InventoryFolderBase>>("POST", "/RootFolders/", 110 new RestDeserialisehandler<Guid, List<InventoryFolderBase>>
108 m_inventoryService.RequestFirstLevelFolders)); 111 ("POST", "/RootFolders/", m_inventoryService.GetInventorySkeleton));
109 112
110 // httpServer.AddStreamHandler(new InventoryManager.GetInventory(m_inventoryManager)); 113 // httpServer.AddStreamHandler(new InventoryManager.GetInventory(m_inventoryManager));
111 } 114 }
diff --git a/OpenSim/Grid/UserServer/UserLoginService.cs b/OpenSim/Grid/UserServer/UserLoginService.cs
index e95acac..6d3a081 100644
--- a/OpenSim/Grid/UserServer/UserLoginService.cs
+++ b/OpenSim/Grid/UserServer/UserLoginService.cs
@@ -323,6 +323,8 @@ namespace OpenSim.Grid.UserServer
323 Hashtable TempHash; 323 Hashtable TempHash;
324 foreach (InventoryFolderBase InvFolder in folders) 324 foreach (InventoryFolderBase InvFolder in folders)
325 { 325 {
326// m_log.DebugFormat("[LOGIN]: Received agent inventory folder {0}", InvFolder.name);
327
326 if (InvFolder.parentID == LLUUID.Zero) 328 if (InvFolder.parentID == LLUUID.Zero)
327 { 329 {
328 rootID = InvFolder.folderID; 330 rootID = InvFolder.folderID;