Cut: Exclude Server.Delay property from serialization.

This commit is contained in:
ChsBuffer
2021-01-18 04:11:10 +08:00
parent 46643a3f5e
commit fb8aa548ac

View File

@@ -1,31 +1,23 @@
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Netch.Utils; using Netch.Utils;
using Newtonsoft.Json;
namespace Netch.Models namespace Netch.Models
{ {
public class Server : ICloneable public class Server : ICloneable
{ {
/// <summary> /// <summary>
/// 备注 /// 延迟
/// </summary> /// </summary>
public string Remark; [JsonIgnore]
public int Delay = -1;
/// <summary> /// <summary>
/// 组 /// 组
/// </summary> /// </summary>
public string Group = "None"; public string Group = "None";
/// <summary>
/// 代理类型
/// </summary>
public string Type;
/// <summary>
/// 倍率
/// </summary>
public double Rate = 1.0;
/// <summary> /// <summary>
/// 地址 /// 地址
/// </summary> /// </summary>
@@ -37,12 +29,26 @@ namespace Netch.Models
public ushort Port; public ushort Port;
/// <summary> /// <summary>
/// 延迟 /// 倍率
/// </summary> /// </summary>
public int Delay = -1; public double Rate = 1.0;
/// <summary>
/// 备注
/// </summary>
public string Remark;
/// <summary> /// <summary>
/// 获取备注 /// 代理类型
/// </summary>
public string Type;
public object Clone()
{
return MemberwiseClone();
}
/// <summary>
/// 获取备注
/// </summary> /// </summary>
/// <returns>备注</returns> /// <returns>备注</returns>
public override string ToString() public override string ToString()
@@ -55,13 +61,8 @@ namespace Netch.Models
return $"[{ServerHelper.GetUtilByTypeName(Type)?.ShortName ?? "WTF"}][{Group}] {remark}"; return $"[{ServerHelper.GetUtilByTypeName(Type)?.ShortName ?? "WTF"}][{Group}] {remark}";
} }
public object Clone()
{
return MemberwiseClone();
}
/// <summary> /// <summary>
/// 测试延迟 /// 测试延迟
/// </summary> /// </summary>
/// <returns>延迟</returns> /// <returns>延迟</returns>
public int Test() public int Test()
@@ -70,13 +71,10 @@ namespace Netch.Models
{ {
var destination = DNS.Lookup(Hostname); var destination = DNS.Lookup(Hostname);
if (destination == null) if (destination == null)
{
return Delay = -2; return Delay = -2;
}
var list = new Task<int>[3]; var list = new Task<int>[3];
for (var i = 0; i < 3; i++) for (var i = 0; i < 3; i++)
{
list[i] = Task.Run(async () => list[i] = Task.Run(async () =>
{ {
try try
@@ -88,7 +86,6 @@ namespace Netch.Models
return -4; return -4;
} }
}); });
}
Task.WaitAll(list[0], list[1], list[2]); Task.WaitAll(list[0], list[1], list[2]);