/// <summary> /// Create a new server on endpoint /// </summary> /// <param name="udpClientFactory"></param> /// <param name="localEndpoint"></param> /// <param name="radiusPacketParser"></param> /// <param name="serverType"></param> /// <param name="logger"></param> public RadiusServer(IUdpClientFactory udpClientFactory, IPEndPoint localEndpoint, IRadiusPacketParser radiusPacketParser, RadiusServerType serverType, ILogger <RadiusServer> logger) : this (udpClientFactory, localEndpoint, radiusPacketParser, serverType, new PacketHandlerRepository(), logger) { }
/// <summary> /// Create a new server on endpoint with packet handler repository /// </summary> public RadiusServer(ServiceConfiguration serviceConfiguration, IRadiusDictionary dictionary, IRadiusPacketParser radiusPacketParser, CacheService cacheService, ILogger logger) { _serviceConfiguration = serviceConfiguration ?? throw new ArgumentNullException(nameof(serviceConfiguration)); _dictionary = dictionary ?? throw new ArgumentNullException(nameof(dictionary)); _radiusPacketParser = radiusPacketParser ?? throw new ArgumentNullException(nameof(radiusPacketParser)); _cacheService = cacheService ?? throw new ArgumentNullException(nameof(cacheService)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _localEndpoint = serviceConfiguration.ServiceServerEndpoint; _router = new RadiusRouter(serviceConfiguration, radiusPacketParser, logger); }