Removed SimpleRegionInfo, which was obsolete and not used anywhere.
parent
eaa33cf478
commit
737add1683
|
@ -96,251 +96,6 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
|
||||||
public class SimpleRegionInfo
|
|
||||||
{
|
|
||||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The port by which http communication occurs with the region (most noticeably, CAPS communication)
|
|
||||||
/// </summary>
|
|
||||||
public uint HttpPort
|
|
||||||
{
|
|
||||||
get { return m_httpPort; }
|
|
||||||
set { m_httpPort = value; }
|
|
||||||
}
|
|
||||||
protected uint m_httpPort;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// A well-formed URI for the host region server (namely "http://" + ExternalHostName)
|
|
||||||
/// </summary>
|
|
||||||
public string ServerURI
|
|
||||||
{
|
|
||||||
get {
|
|
||||||
if ( m_serverURI != string.Empty ) {
|
|
||||||
return m_serverURI;
|
|
||||||
} else {
|
|
||||||
return "http://" + m_externalHostName + ":" + m_httpPort + "/";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
if ( value.EndsWith("/") ) {
|
|
||||||
m_serverURI = value;
|
|
||||||
} else {
|
|
||||||
m_serverURI = value + '/';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected string m_serverURI;
|
|
||||||
|
|
||||||
public string RegionName
|
|
||||||
{
|
|
||||||
get { return m_regionName; }
|
|
||||||
set { m_regionName = value; }
|
|
||||||
}
|
|
||||||
protected string m_regionName = String.Empty;
|
|
||||||
|
|
||||||
protected bool Allow_Alternate_Ports;
|
|
||||||
public bool m_allow_alternate_ports;
|
|
||||||
protected string m_externalHostName;
|
|
||||||
|
|
||||||
protected IPEndPoint m_internalEndPoint;
|
|
||||||
protected uint? m_regionLocX;
|
|
||||||
protected uint? m_regionLocY;
|
|
||||||
protected uint m_remotingPort;
|
|
||||||
public UUID RegionID = UUID.Zero;
|
|
||||||
public string RemotingAddress;
|
|
||||||
public UUID ScopeID = UUID.Zero;
|
|
||||||
|
|
||||||
public SimpleRegionInfo()
|
|
||||||
{
|
|
||||||
m_serverURI = string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SimpleRegionInfo(uint regionLocX, uint regionLocY, IPEndPoint internalEndPoint, string externalUri)
|
|
||||||
{
|
|
||||||
m_regionLocX = regionLocX;
|
|
||||||
m_regionLocY = regionLocY;
|
|
||||||
|
|
||||||
m_internalEndPoint = internalEndPoint;
|
|
||||||
m_externalHostName = externalUri;
|
|
||||||
m_serverURI = string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SimpleRegionInfo(uint regionLocX, uint regionLocY, string externalUri, uint port)
|
|
||||||
{
|
|
||||||
m_regionLocX = regionLocX;
|
|
||||||
m_regionLocY = regionLocY;
|
|
||||||
|
|
||||||
m_externalHostName = externalUri;
|
|
||||||
|
|
||||||
m_internalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), (int) port);
|
|
||||||
m_serverURI = string.Empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SimpleRegionInfo(RegionInfo ConvertFrom)
|
|
||||||
{
|
|
||||||
m_regionName = ConvertFrom.RegionName;
|
|
||||||
m_regionLocX = ConvertFrom.RegionLocX;
|
|
||||||
m_regionLocY = ConvertFrom.RegionLocY;
|
|
||||||
m_internalEndPoint = ConvertFrom.InternalEndPoint;
|
|
||||||
m_externalHostName = ConvertFrom.ExternalHostName;
|
|
||||||
m_remotingPort = ConvertFrom.RemotingPort;
|
|
||||||
m_httpPort = ConvertFrom.HttpPort;
|
|
||||||
m_allow_alternate_ports = ConvertFrom.m_allow_alternate_ports;
|
|
||||||
RemotingAddress = ConvertFrom.RemotingAddress;
|
|
||||||
RegionID = UUID.Zero;
|
|
||||||
ServerURI = ConvertFrom.ServerURI;
|
|
||||||
}
|
|
||||||
|
|
||||||
public uint RemotingPort
|
|
||||||
{
|
|
||||||
get { return m_remotingPort; }
|
|
||||||
set { m_remotingPort = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// This accessor can throw all the exceptions that Dns.GetHostAddresses can throw.
|
|
||||||
///
|
|
||||||
/// XXX Isn't this really doing too much to be a simple getter, rather than an explict method?
|
|
||||||
/// </value>
|
|
||||||
public IPEndPoint ExternalEndPoint
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
// Old one defaults to IPv6
|
|
||||||
//return new IPEndPoint(Dns.GetHostAddresses(m_externalHostName)[0], m_internalEndPoint.Port);
|
|
||||||
|
|
||||||
IPAddress ia = null;
|
|
||||||
// If it is already an IP, don't resolve it - just return directly
|
|
||||||
if (IPAddress.TryParse(m_externalHostName, out ia))
|
|
||||||
return new IPEndPoint(ia, m_internalEndPoint.Port);
|
|
||||||
|
|
||||||
// Reset for next check
|
|
||||||
ia = null;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
foreach (IPAddress Adr in Dns.GetHostAddresses(m_externalHostName))
|
|
||||||
{
|
|
||||||
if (ia == null)
|
|
||||||
ia = Adr;
|
|
||||||
|
|
||||||
if (Adr.AddressFamily == AddressFamily.InterNetwork)
|
|
||||||
{
|
|
||||||
ia = Adr;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (SocketException e)
|
|
||||||
{
|
|
||||||
throw new Exception(
|
|
||||||
"Unable to resolve local hostname " + m_externalHostName + " innerException of type '" +
|
|
||||||
e + "' attached to this exception", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new IPEndPoint(ia, m_internalEndPoint.Port);
|
|
||||||
}
|
|
||||||
|
|
||||||
set { m_externalHostName = value.ToString(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public string ExternalHostName
|
|
||||||
{
|
|
||||||
get { return m_externalHostName; }
|
|
||||||
set { m_externalHostName = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public IPEndPoint InternalEndPoint
|
|
||||||
{
|
|
||||||
get { return m_internalEndPoint; }
|
|
||||||
set { m_internalEndPoint = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public uint RegionLocX
|
|
||||||
{
|
|
||||||
get { return m_regionLocX.Value; }
|
|
||||||
set { m_regionLocX = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public uint RegionLocY
|
|
||||||
{
|
|
||||||
get { return m_regionLocY.Value; }
|
|
||||||
set { m_regionLocY = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public ulong RegionHandle
|
|
||||||
{
|
|
||||||
get { return Util.UIntsToLong((RegionLocX * (uint) Constants.RegionSize), (RegionLocY * (uint) Constants.RegionSize)); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getInternalEndPointPort()
|
|
||||||
{
|
|
||||||
return m_internalEndPoint.Port;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Dictionary<string, object> ToKeyValuePairs()
|
|
||||||
{
|
|
||||||
Dictionary<string, object> kvp = new Dictionary<string, object>();
|
|
||||||
kvp["uuid"] = RegionID.ToString();
|
|
||||||
kvp["locX"] = RegionLocX.ToString();
|
|
||||||
kvp["locY"] = RegionLocY.ToString();
|
|
||||||
kvp["external_ip_address"] = ExternalEndPoint.Address.ToString();
|
|
||||||
kvp["external_port"] = ExternalEndPoint.Port.ToString();
|
|
||||||
kvp["external_host_name"] = ExternalHostName;
|
|
||||||
kvp["http_port"] = HttpPort.ToString();
|
|
||||||
kvp["internal_ip_address"] = InternalEndPoint.Address.ToString();
|
|
||||||
kvp["internal_port"] = InternalEndPoint.Port.ToString();
|
|
||||||
kvp["alternate_ports"] = m_allow_alternate_ports.ToString();
|
|
||||||
kvp["server_uri"] = ServerURI;
|
|
||||||
|
|
||||||
return kvp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SimpleRegionInfo(Dictionary<string, object> kvp)
|
|
||||||
{
|
|
||||||
if ((kvp["external_ip_address"] != null) && (kvp["external_port"] != null))
|
|
||||||
{
|
|
||||||
int port = 0;
|
|
||||||
Int32.TryParse((string)kvp["external_port"], out port);
|
|
||||||
IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["external_ip_address"]), port);
|
|
||||||
ExternalEndPoint = ep;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
ExternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
|
|
||||||
|
|
||||||
if (kvp["external_host_name"] != null)
|
|
||||||
ExternalHostName = (string)kvp["external_host_name"];
|
|
||||||
|
|
||||||
if (kvp["http_port"] != null)
|
|
||||||
{
|
|
||||||
UInt32 port = 0;
|
|
||||||
UInt32.TryParse((string)kvp["http_port"], out port);
|
|
||||||
HttpPort = port;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((kvp["internal_ip_address"] != null) && (kvp["internal_port"] != null))
|
|
||||||
{
|
|
||||||
int port = 0;
|
|
||||||
Int32.TryParse((string)kvp["internal_port"], out port);
|
|
||||||
IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["internal_ip_address"]), port);
|
|
||||||
InternalEndPoint = ep;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
InternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
|
|
||||||
|
|
||||||
if (kvp["alternate_ports"] != null)
|
|
||||||
{
|
|
||||||
bool alts = false;
|
|
||||||
Boolean.TryParse((string)kvp["alternate_ports"], out alts);
|
|
||||||
m_allow_alternate_ports = alts;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (kvp["server_uri"] != null)
|
|
||||||
ServerURI = (string)kvp["server_uri"];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class RegionInfo
|
public class RegionInfo
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
Loading…
Reference in New Issue