using System.Diagnostics.CodeAnalysis;
using System.Net;
namespace FastGithub
{
    /// 
    /// dns的终节点
    /// 
    public class DnsIPEndPoint
    {
        /// 
        /// IP地址
        /// 
        [AllowNull]
        public string IPAddress { get; set; }
        /// 
        /// 端口
        /// 
        public int Port { get; set; }
        /// 
        /// 转换为IPEndPoint
        /// 
        /// 
        public IPEndPoint ToIPEndPoint()
        {
            return new IPEndPoint(System.Net.IPAddress.Parse(this.IPAddress), this.Port);
        }
        /// 
        /// 验证
        /// 
        /// 
        public bool Validate()
        {
            return System.Net.IPAddress.TryParse(this.IPAddress, out var address)
                ? !(address.Equals(System.Net.IPAddress.Loopback) && this.Port == 53)
                : false;
        }
    }
}