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
 | 
			
		||||
    {
 | 
			
		||||
        private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue