diff options
plumbing for multiple inventory servers. Mostly done on the region server side.
TODO next is to make the login server read/write a users inventory from the correct server (the inventory url set in a userprofile)
On the region side, although not tested with multiple servers it should work if that inventory url was set, and the inventory servers urls have been added to the CommunicationsManager, using CommunicationsManager.AddInventoryService(string hostUrl)
Diffstat (limited to 'OpenSim/Region/Communications/OGS1')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs | 11 | ||||
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs | 7 |
2 files changed, 17 insertions, 1 deletions
diff --git a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs index d622b7e..b85654d 100644 --- a/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs +++ b/OpenSim/Region/Communications/OGS1/CommunicationsOGS1.cs | |||
@@ -41,8 +41,17 @@ namespace OpenSim.Region.Communications.OGS1 | |||
41 | m_gridService = gridInterComms; | 41 | m_gridService = gridInterComms; |
42 | m_interRegion = gridInterComms; | 42 | m_interRegion = gridInterComms; |
43 | 43 | ||
44 | m_inventoryService = new OGS1InventoryService(serversInfo.InventoryURL); | 44 | OGS1InventoryService invService = new OGS1InventoryService(serversInfo.InventoryURL); |
45 | AddInventoryService(invService); | ||
46 | m_defaultInventoryHost = invService.Host; | ||
47 | |||
45 | m_userService = new OGS1UserServices(this); | 48 | m_userService = new OGS1UserServices(this); |
46 | } | 49 | } |
50 | |||
51 | public override void AddInventoryService(string hostUrl) | ||
52 | { | ||
53 | OGS1InventoryService invService = new OGS1InventoryService(hostUrl); | ||
54 | AddInventoryService(invService); | ||
55 | } | ||
47 | } | 56 | } |
48 | } | 57 | } |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs index dfc741a..4e4bfe8 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs | |||
@@ -45,16 +45,23 @@ namespace OpenSim.Region.Communications.OGS1 | |||
45 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | 46 | ||
47 | private string _inventoryServerUrl; | 47 | private string _inventoryServerUrl; |
48 | private Uri m_Uri; | ||
48 | private Dictionary<LLUUID, InventoryReceiptCallback> m_RequestingInventory | 49 | private Dictionary<LLUUID, InventoryReceiptCallback> m_RequestingInventory |
49 | = new Dictionary<LLUUID, InventoryReceiptCallback>(); | 50 | = new Dictionary<LLUUID, InventoryReceiptCallback>(); |
50 | 51 | ||
51 | public OGS1InventoryService(string inventoryServerUrl) | 52 | public OGS1InventoryService(string inventoryServerUrl) |
52 | { | 53 | { |
53 | _inventoryServerUrl = inventoryServerUrl; | 54 | _inventoryServerUrl = inventoryServerUrl; |
55 | m_Uri = new Uri(_inventoryServerUrl); | ||
54 | } | 56 | } |
55 | 57 | ||
56 | #region IInventoryServices Members | 58 | #region IInventoryServices Members |
57 | 59 | ||
60 | public string Host | ||
61 | { | ||
62 | get { return m_Uri.Host; } | ||
63 | } | ||
64 | |||
58 | /// <summary> | 65 | /// <summary> |
59 | /// <see cref="OpenSim.Framework.Communications.IInventoryServices"></see> | 66 | /// <see cref="OpenSim.Framework.Communications.IInventoryServices"></see> |
60 | /// </summary> | 67 | /// </summary> |