mirror of
https://github.com/opensim/opensim.git
synced 2026-08-09 10:46:00 +08:00
more work on the support for multiple inventory servers.
The Login service should now read/create new inventory on the inventory server that is set in a users profile. Also added "Add-InventoryHost" console command to add a support for a new server to a region. So it would be good if someone could test this. Set up the grid as normal, but then also run extra inventory server on a different computer (well actually it just has to be on a different network hostname, so one using "http://localhost:8004" and one using "http://127.0.0.1:8005" should work) then you need to manually edit the user profile database to set the new servers url in a user's "userInventoryURI" field. Then on a region server, use the Add-InventoryHost to add the new server url (always include the full url, including http, but don't add a final /) Login with that account and see if the inventory works. Of course these needs to be made more user friendly.
This commit is contained in:
@@ -94,7 +94,7 @@ namespace OpenSim.Framework.Communications
|
||||
/// <param name="userID"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref='System.Exception'>This will be thrown if there is a problem with the inventory service</exception>
|
||||
protected abstract InventoryData GetInventorySkeleton(LLUUID userID);
|
||||
protected abstract InventoryData GetInventorySkeleton(LLUUID userID, string inventoryServerUrl);
|
||||
|
||||
/// <summary>
|
||||
/// Called when we receive the client's initial XMLRPC login_to_simulator request message
|
||||
@@ -230,7 +230,7 @@ namespace OpenSim.Framework.Communications
|
||||
|
||||
try
|
||||
{
|
||||
inventData = GetInventorySkeleton(agentID);
|
||||
inventData = GetInventorySkeleton(agentID, userProfile.UserInventoryURI);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -386,7 +386,7 @@ namespace OpenSim.Framework.Communications
|
||||
LLUUID agentID = userProfile.ID;
|
||||
|
||||
// Inventory Library Section
|
||||
InventoryData inventData = GetInventorySkeleton(agentID);
|
||||
InventoryData inventData = GetInventorySkeleton(agentID, userProfile.UserInventoryURI);
|
||||
ArrayList AgentInventoryArray = inventData.InventoryArray;
|
||||
|
||||
Hashtable InventoryRootHash = new Hashtable();
|
||||
|
||||
Reference in New Issue
Block a user