From 6386dfd362991eef4b799b85085a02b80dd439b8 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 27 Dec 2010 16:26:29 -0800 Subject: No need for these methods to be virtual now. --- .../Services/Connectors/Grid/GridServiceConnector.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'OpenSim/Services') diff --git a/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs b/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs index 80f0d2d..5092d74 100644 --- a/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs +++ b/OpenSim/Services/Connectors/Grid/GridServiceConnector.cs @@ -86,7 +86,7 @@ namespace OpenSim.Services.Connectors #region IGridService - public virtual string RegisterRegion(UUID scopeID, GridRegion regionInfo) + public string RegisterRegion(UUID scopeID, GridRegion regionInfo) { Dictionary rinfo = regionInfo.ToKeyValuePairs(); Dictionary sendData = new Dictionary(); @@ -140,7 +140,7 @@ namespace OpenSim.Services.Connectors return "Error communicating with grid service"; } - public virtual bool DeregisterRegion(UUID regionID) + public bool DeregisterRegion(UUID regionID) { Dictionary sendData = new Dictionary(); @@ -172,7 +172,7 @@ namespace OpenSim.Services.Connectors return false; } - public virtual List GetNeighbours(UUID scopeID, UUID regionID) + public List GetNeighbours(UUID scopeID, UUID regionID) { Dictionary sendData = new Dictionary(); @@ -219,7 +219,7 @@ namespace OpenSim.Services.Connectors return rinfos; } - public virtual GridRegion GetRegionByUUID(UUID scopeID, UUID regionID) + public GridRegion GetRegionByUUID(UUID scopeID, UUID regionID) { Dictionary sendData = new Dictionary(); @@ -265,7 +265,7 @@ namespace OpenSim.Services.Connectors return rinfo; } - public virtual GridRegion GetRegionByPosition(UUID scopeID, int x, int y) + public GridRegion GetRegionByPosition(UUID scopeID, int x, int y) { Dictionary sendData = new Dictionary(); @@ -310,7 +310,7 @@ namespace OpenSim.Services.Connectors return rinfo; } - public virtual GridRegion GetRegionByName(UUID scopeID, string regionName) + public GridRegion GetRegionByName(UUID scopeID, string regionName) { Dictionary sendData = new Dictionary(); @@ -351,7 +351,7 @@ namespace OpenSim.Services.Connectors return rinfo; } - public virtual List GetRegionsByName(UUID scopeID, string name, int maxNumber) + public List GetRegionsByName(UUID scopeID, string name, int maxNumber) { Dictionary sendData = new Dictionary(); @@ -400,7 +400,7 @@ namespace OpenSim.Services.Connectors return rinfos; } - public virtual List GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax) + public List GetRegionRange(UUID scopeID, int xmin, int xmax, int ymin, int ymax) { Dictionary sendData = new Dictionary(); @@ -606,7 +606,7 @@ namespace OpenSim.Services.Connectors return rinfos; } - public virtual int GetRegionFlags(UUID scopeID, UUID regionID) + public int GetRegionFlags(UUID scopeID, UUID regionID) { Dictionary sendData = new Dictionary(); -- cgit v1.1 From 94ed69b1daaf4ea3e9431cb739b79dce808573d0 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Mon, 27 Dec 2010 17:18:49 -0800 Subject: Update SimianGridServicesConnector to work more like a connector so we can take advantage of the logic in RemoteGridServicesConnector. --- .../SimianGrid/SimianGridServiceConnector.cs | 118 +++++++++------------ 1 file changed, 50 insertions(+), 68 deletions(-) (limited to 'OpenSim/Services') diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs index 8076fab..2f61538 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs @@ -51,51 +51,21 @@ namespace OpenSim.Services.Connectors.SimianGrid /// Connects region registration and neighbor lookups to the SimianGrid /// backend /// - [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] - public class SimianGridServiceConnector : IGridService, ISharedRegionModule + public class SimianGridServiceConnector : IGridService { private static readonly ILog m_log = LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType); - private string m_serverUrl = String.Empty; - private Dictionary m_scenes = new Dictionary(); + private string m_ServerURI = String.Empty; private bool m_Enabled = false; - #region ISharedRegionModule - - public Type ReplaceableInterface { get { return null; } } - public void RegionLoaded(Scene scene) { } - public void PostInitialise() { } - public void Close() { } - public SimianGridServiceConnector() { } - public string Name { get { return "SimianGridServiceConnector"; } } - public void AddRegion(Scene scene) - { - if (!m_Enabled) - return; - - // Every shared region module has to maintain an indepedent list of - // currently running regions - lock (m_scenes) - m_scenes[scene.RegionInfo.RegionID] = scene; - - scene.RegisterModuleInterface(this); - } - public void RemoveRegion(Scene scene) + public SimianGridServiceConnector(string serverURI) { - if (!m_Enabled) - return; - - lock (m_scenes) - m_scenes.Remove(scene.RegionInfo.RegionID); - - scene.UnregisterModuleInterface(this); + m_ServerURI = serverURI.TrimEnd('/'); } - #endregion ISharedRegionModule - public SimianGridServiceConnector(IConfigSource source) { CommonInit(source); @@ -103,32 +73,29 @@ namespace OpenSim.Services.Connectors.SimianGrid public void Initialise(IConfigSource source) { - IConfig moduleConfig = source.Configs["Modules"]; - if (moduleConfig != null) - { - string name = moduleConfig.GetString("GridServices", ""); - if (name == Name) - CommonInit(source); - } + CommonInit(source); } private void CommonInit(IConfigSource source) { IConfig gridConfig = source.Configs["GridService"]; - if (gridConfig != null) + if (gridConfig == null) { - string serviceUrl = gridConfig.GetString("GridServerURI"); - if (!String.IsNullOrEmpty(serviceUrl)) - { - if (!serviceUrl.EndsWith("/") && !serviceUrl.EndsWith("=")) - serviceUrl = serviceUrl + '/'; - m_serverUrl = serviceUrl; - m_Enabled = true; - } + m_log.Error("[SIMIAN GRID CONNECTOR]: GridService missing from OpenSim.ini"); + throw new Exception("Grid connector init error"); } - if (String.IsNullOrEmpty(m_serverUrl)) - m_log.Info("[SIMIAN GRID CONNECTOR]: No GridServerURI specified, disabling connector"); + string serviceUrl = gridConfig.GetString("GridServerURI"); + if (String.IsNullOrEmpty(serviceUrl)) + { + m_log.Error("[SIMIAN GRID CONNECTOR]: No Server URI named in section GridService"); + throw new Exception("Grid connector init error"); + } + + if (!serviceUrl.EndsWith("/") && !serviceUrl.EndsWith("=")) + serviceUrl = serviceUrl + '/'; + m_ServerURI = serviceUrl; + m_Enabled = true; } #region IGridService @@ -136,11 +103,11 @@ namespace OpenSim.Services.Connectors.SimianGrid public string RegisterRegion(UUID scopeID, GridRegion regionInfo) { // Generate and upload our map tile in PNG format to the SimianGrid AddMapTile service - Scene scene; - if (m_scenes.TryGetValue(regionInfo.RegionID, out scene)) - UploadMapTile(scene); - else - m_log.Warn("Registering region " + regionInfo.RegionName + " (" + regionInfo.RegionID + ") that we are not tracking"); +// Scene scene; +// if (m_scenes.TryGetValue(regionInfo.RegionID, out scene)) +// UploadMapTile(scene); +// else +// m_log.Warn("Registering region " + regionInfo.RegionName + " (" + regionInfo.RegionID + ") that we are not tracking"); Vector3d minPosition = new Vector3d(regionInfo.RegionLocX, regionInfo.RegionLocY, 0.0); Vector3d maxPosition = minPosition + new Vector3d(Constants.RegionSize, Constants.RegionSize, 4096.0); @@ -171,7 +138,7 @@ namespace OpenSim.Services.Connectors.SimianGrid { "ExtraData", OSDParser.SerializeJsonString(extraData) } }; - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); if (response["Success"].AsBoolean()) return String.Empty; else @@ -187,7 +154,7 @@ namespace OpenSim.Services.Connectors.SimianGrid { "Enabled", "0" } }; - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); bool success = response["Success"].AsBoolean(); if (!success) @@ -232,9 +199,12 @@ namespace OpenSim.Services.Connectors.SimianGrid { "SceneID", regionID.ToString() } }; - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + // m_log.DebugFormat("[SIMIAN GRID CONNECTOR] request region with uuid {0}",regionID.ToString()); + + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); if (response["Success"].AsBoolean()) { + // m_log.DebugFormat("[SIMIAN GRID CONNECTOR] uuid request successful {0}",response["Name"].AsString()); return ResponseToGridRegion(response); } else @@ -257,15 +227,18 @@ namespace OpenSim.Services.Connectors.SimianGrid { "Enabled", "1" } }; - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + // m_log.DebugFormat("[SIMIAN GRID CONNECTOR] request grid at {0}",position.ToString()); + + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); if (response["Success"].AsBoolean()) { + // m_log.DebugFormat("[SIMIAN GRID CONNECTOR] position request successful {0}",response["Name"].AsString()); return ResponseToGridRegion(response); } else { - //m_log.InfoFormat("[SIMIAN GRID CONNECTOR]: Grid service did not find a match for region at {0},{1}", - // x / Constants.RegionSize, y / Constants.RegionSize); + // m_log.InfoFormat("[SIMIAN GRID CONNECTOR]: Grid service did not find a match for region at {0},{1}", + // x / Constants.RegionSize, y / Constants.RegionSize); return null; } } @@ -295,9 +268,13 @@ namespace OpenSim.Services.Connectors.SimianGrid if (maxNumber > 0) requestArgs["MaxNumber"] = maxNumber.ToString(); - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + // m_log.DebugFormat("[SIMIAN GRID CONNECTOR] request regions with name {0}",name); + + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); if (response["Success"].AsBoolean()) { + // m_log.DebugFormat("[SIMIAN GRID CONNECTOR] found regions with name {0}",name); + OSDArray array = response["Scenes"] as OSDArray; if (array != null) { @@ -328,7 +305,10 @@ namespace OpenSim.Services.Connectors.SimianGrid { "Enabled", "1" } }; - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + m_log.WarnFormat("[SIMIAN GRID CONNECTOR] request regions by range {0} to {1}",minPosition.ToString(),maxPosition.ToString()); + + + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); if (response["Success"].AsBoolean()) { OSDArray array = response["Scenes"] as OSDArray; @@ -384,7 +364,9 @@ namespace OpenSim.Services.Connectors.SimianGrid { "SceneID", regionID.ToString() } }; - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + // m_log.DebugFormat("[SIMIAN GRID CONNECTOR] request region flags for {0}",regionID.ToString()); + + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); if (response["Success"].AsBoolean()) { return response["Enabled"].AsBoolean() ? REGION_ONLINE : 0; @@ -430,7 +412,7 @@ namespace OpenSim.Services.Connectors.SimianGrid // Make the remote storage request try { - HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(m_serverUrl); + HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(m_ServerURI); HttpWebResponse response = MultipartForm.Post(request, postParameters); using (Stream responseStream = response.GetResponseStream()) @@ -486,7 +468,7 @@ namespace OpenSim.Services.Connectors.SimianGrid if (onlyEnabled) requestArgs["Enabled"] = "1"; - OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs); if (response["Success"].AsBoolean()) { return ResponseToGridRegion(response); -- cgit v1.1 From 915c0b17b0638342a3e2de8b4f9d2505014561fd Mon Sep 17 00:00:00 2001 From: Myan Thor Date: Wed, 29 Dec 2010 13:40:47 +0100 Subject: fixes a problem with ending slashes in GatekeeperService to verify session-addresses --- OpenSim/Services/HypergridService/GatekeeperService.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'OpenSim/Services') diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index 4419201..bbddd87 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs @@ -330,10 +330,12 @@ namespace OpenSim.Services.HypergridService if (parts.Length < 2) return false; - string addressee = parts[0]; - m_log.DebugFormat("[GATEKEEPER SERVICE]: Verifying {0} against {1}", addressee, m_ExternalName); + char[] trailing_slash = new char[] { '/' }; + string addressee = parts[0].TrimEnd(trailing_slash); + string externalname = m_ExternalName.TrimEnd(trailing_slash); + m_log.DebugFormat("[GATEKEEPER SERVICE]: Verifying {0} against {1}", addressee, externalname); - return string.Equals(addressee, m_ExternalName, StringComparison.OrdinalIgnoreCase); + return string.Equals(addressee, externalname, StringComparison.OrdinalIgnoreCase); } #endregion -- cgit v1.1 From d42e0c39fcaa03e101b8270e083690f2004c6776 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 29 Dec 2010 07:36:39 -0800 Subject: Bug fix in neighbors: serverURI now always has a trailing '/'... neighbors were not getting notified. --- OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'OpenSim/Services') diff --git a/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs b/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs index 9c57a40..93da10e 100644 --- a/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs +++ b/OpenSim/Services/Connectors/Neighbour/NeighbourServiceConnector.cs @@ -87,7 +87,7 @@ namespace OpenSim.Services.Connectors public bool DoHelloNeighbourCall(GridRegion region, RegionInfo thisRegion) { - string uri = region.ServerURI + "/region/" + thisRegion.RegionID + "/"; + string uri = region.ServerURI + "region/" + thisRegion.RegionID + "/"; //m_log.Debug(" >>> DoHelloNeighbourCall <<< " + uri); WebRequest HelloNeighbourRequest = WebRequest.Create(uri); -- cgit v1.1