/// <summary> /// Initializes a new instance of the <see cref="ModbusServer"/> class. /// </summary> /// <param name="portName">The serial port name.</param> /// <param name="logger">A logger.</param> /// <param name="requestHandler">Set this request handler to override the default implemented handling. (Default: serving the data provided by Set* methods)</param> public ModbusServer(string portName, ILogger logger = null, ModbusSerialRequestHandler requestHandler = null) { this.logger = logger; if (string.IsNullOrWhiteSpace(portName)) { throw new ArgumentNullException(nameof(portName)); } this.requestHandler = requestHandler ?? HandleRequest; PortName = portName; Initialization = Task.Run(Initialize); }
/// <summary> /// Initializes a new instance of the <see cref="ModbusServer"/> class. /// </summary> /// <param name="portName">The serial port name.</param> /// <param name="requestHandler">Set this request handler to override the default implemented handling. (Default: serving the data provided by Set* methods)</param> public ModbusServer(string portName, ModbusSerialRequestHandler requestHandler) : this(portName, null, requestHandler) { }