From 1b34b94331ca810ed53669699abcff3a6a99de83 Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Tue, 10 Mar 2009 09:05:06 +0000 Subject: * Refactored out Create() methods to ensure proper transformation between RegionProfileData and RegionInfo * Created ToRegionInfo method, still not using it pending peer review. * This is a preparatory commit for a subsequent login service refactoring. --- OpenSim/Data/RegionProfileData.cs | 26 +++++++++++++++++++++- OpenSim/Data/RegionProfileServiceProxy.cs | 25 +++++++++------------ OpenSim/Framework/RegionInfo.cs | 13 +++++++++++ .../Region/Communications/OGS1/OGS1GridServices.cs | 24 +++++++++----------- 4 files changed, 60 insertions(+), 28 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Data/RegionProfileData.cs b/OpenSim/Data/RegionProfileData.cs index 0b757f3..5476233 100644 --- a/OpenSim/Data/RegionProfileData.cs +++ b/OpenSim/Data/RegionProfileData.cs @@ -279,6 +279,30 @@ namespace OpenSim.Data get { return originUUID; } set { originUUID = value; } } - + + public RegionInfo ToRegionInfo( ) + { + return RegionInfo.Create(UUID, regionName, regionLocX, regionLocY, serverIP, httpPort, serverPort, remotingPort); + } + + public static RegionProfileData Create(UUID regionID, string regionName, uint locX, uint locY, string externalHostName, uint regionPort, uint httpPort, uint remotingPort, string serverUri) + { + RegionProfileData regionProfile; + regionProfile = new RegionProfileData(); + regionProfile.regionLocX = locX; + regionProfile.regionLocY = locY; + regionProfile.regionHandle = + Utils.UIntsToLong((regionProfile.regionLocX * Constants.RegionSize), + (regionProfile.regionLocY*Constants.RegionSize)); + regionProfile.serverIP = externalHostName; + regionProfile.serverPort = regionPort; + regionProfile.httpPort = httpPort; + regionProfile.remotingPort = remotingPort; + regionProfile.serverURI = serverUri; + regionProfile.httpServerURI = "http://" + externalHostName + ":" + httpPort + "/"; + regionProfile.UUID = regionID; + regionProfile.regionName = regionName; + return regionProfile; + } } } diff --git a/OpenSim/Data/RegionProfileServiceProxy.cs b/OpenSim/Data/RegionProfileServiceProxy.cs index 126e363..da71936 100644 --- a/OpenSim/Data/RegionProfileServiceProxy.cs +++ b/OpenSim/Data/RegionProfileServiceProxy.cs @@ -56,20 +56,17 @@ namespace OpenSim.Data if (!responseData.ContainsKey("error")) { - simData = new RegionProfileData(); - simData.regionLocX = Convert.ToUInt32((string) responseData["region_locx"]); - simData.regionLocY = Convert.ToUInt32((string) responseData["region_locy"]); - simData.regionHandle = - Utils.UIntsToLong((simData.regionLocX * Constants.RegionSize), - (simData.regionLocY*Constants.RegionSize)); - simData.serverIP = (string) responseData["sim_ip"]; - simData.serverPort = Convert.ToUInt32((string) responseData["sim_port"]); - simData.httpPort = Convert.ToUInt32((string) responseData["http_port"]); - simData.remotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); - simData.serverURI = (string) responseData["server_uri"]; - simData.httpServerURI = "http://" + (string)responseData["sim_ip"] + ":" + simData.httpPort.ToString() + "/"; - simData.UUID = new UUID((string) responseData["region_UUID"]); - simData.regionName = (string) responseData["region_name"]; + uint locX = Convert.ToUInt32((string)responseData["region_locx"]); + uint locY = Convert.ToUInt32((string)responseData["region_locy"]); + string externalHostName = (string)responseData["sim_ip"]; + uint simPort = Convert.ToUInt32((string)responseData["sim_port"]); + uint httpPort = Convert.ToUInt32((string)responseData["http_port"]); + uint remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); + string serverUri = (string)responseData["server_uri"]; + UUID regionID = new UUID((string)responseData["region_UUID"]); + string regionName = (string)responseData["region_name"]; + + simData = RegionProfileData.Create(regionID, regionName, locX, locY, externalHostName, simPort, httpPort, remotingPort, serverUri); } return simData; diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index 0929699..c958c68 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs @@ -675,5 +675,18 @@ namespace OpenSim.Framework if (args["proxy_url"] != null) proxyUrl = args["proxy_url"].AsString(); } + + public static RegionInfo Create(UUID regionID, string regionName, uint regX, uint regY, string externalHostName, uint httpPort, uint simPort, uint remotingPort) + { + RegionInfo regionInfo; + IPEndPoint neighbourInternalEndPoint = new IPEndPoint(Util.GetHostFromDNS(externalHostName), (int)simPort); + regionInfo = new RegionInfo(regX, regY, neighbourInternalEndPoint, externalHostName); + regionInfo.RemotingPort = remotingPort; + regionInfo.RemotingAddress = externalHostName; + regionInfo.HttpPort = httpPort; + regionInfo.RegionID = regionID; + regionInfo.RegionName = regionName; + return regionInfo; + } } } diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 5f00f15..1a72f31 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs @@ -405,24 +405,22 @@ namespace OpenSim.Region.Communications.OGS1 uint regX = Convert.ToUInt32((string) responseData["region_locx"]); uint regY = Convert.ToUInt32((string) responseData["region_locy"]); string externalHostName = (string) responseData["sim_ip"]; - uint port = Convert.ToUInt32(responseData["sim_port"]); - // string externalUri = (string) responseData["sim_uri"]; - - //IPEndPoint neighbourInternalEndPoint = new IPEndPoint(IPAddress.Parse(internalIpStr), (int) port); - IPEndPoint neighbourInternalEndPoint = new IPEndPoint(Util.GetHostFromDNS(externalHostName), (int)port); + uint simPort = Convert.ToUInt32(responseData["sim_port"]); + string regionName = (string)responseData["region_name"]; + UUID regionID = new UUID((string)responseData["region_UUID"]); + uint remotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); - regionInfo = new RegionInfo(regX, regY, neighbourInternalEndPoint, externalHostName); - - regionInfo.RemotingPort = Convert.ToUInt32((string) responseData["remoting_port"]); - regionInfo.RemotingAddress = externalHostName; - + uint httpPort = 9000; if (responseData.ContainsKey("http_port")) { - regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]); + httpPort = Convert.ToUInt32((string)responseData["http_port"]); } - regionInfo.RegionID = new UUID((string) responseData["region_UUID"]); - regionInfo.RegionName = (string) responseData["region_name"]; + + // string externalUri = (string) responseData["sim_uri"]; + + //IPEndPoint neighbourInternalEndPoint = new IPEndPoint(IPAddress.Parse(internalIpStr), (int) port); + regionInfo = RegionInfo.Create(regionID, regionName, regX, regY, externalHostName, httpPort, simPort, remotingPort); lock (m_remoteRegionInfoCache) { -- cgit v1.1