* 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.0.6.5-rc1
parent
973ba9c9b7
commit
1b34b94331
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"]);
|
||||
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"]);
|
||||
|
||||
uint httpPort = 9000;
|
||||
if (responseData.ContainsKey("http_port"))
|
||||
{
|
||||
httpPort = Convert.ToUInt32((string)responseData["http_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);
|
||||
|
||||
regionInfo = new RegionInfo(regX, regY, neighbourInternalEndPoint, externalHostName);
|
||||
|
||||
regionInfo.RemotingPort = Convert.ToUInt32((string) responseData["remoting_port"]);
|
||||
regionInfo.RemotingAddress = externalHostName;
|
||||
|
||||
if (responseData.ContainsKey("http_port"))
|
||||
{
|
||||
regionInfo.HttpPort = Convert.ToUInt32((string) responseData["http_port"]);
|
||||
}
|
||||
|
||||
regionInfo.RegionID = new UUID((string) responseData["region_UUID"]);
|
||||
regionInfo.RegionName = (string) responseData["region_name"];
|
||||
regionInfo = RegionInfo.Create(regionID, regionName, regX, regY, externalHostName, httpPort, simPort, remotingPort);
|
||||
|
||||
lock (m_remoteRegionInfoCache)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue