using System.Text.Json.Serialization;
namespace CoreAgent.Domain.Models.System;
///
/// 网络命令配置
///
public class NetworkCommandConfig
{
///
/// 默认重试次数
///
[JsonPropertyName("DefaultRetryCount")]
public int DefaultRetryCount { get; set; }
///
/// 默认重试间隔(毫秒)
///
[JsonPropertyName("DefaultRetryInterval")]
public int DefaultRetryInterval { get; set; }
///
/// 网络命令配置列表
///
[JsonPropertyName("NetworkCommands")]
public List NetworkCommands { get; set; }
///
/// 获取指定类型的命令配置
///
/// 命令类型
/// 命令配置列表
public List GetCommandsByType(NetworkCommandType type)
{
return NetworkCommands?.Where(c => c.Type == type).ToList() ?? new List();
}
///
/// 获取所有命令类型
///
/// 命令类型数组
public NetworkCommandType[] GetCommandTypes()
{
return NetworkCommands?.Select(c => c.Type).Distinct().ToArray() ?? Array.Empty();
}
}