/// <summary>
        /// Processes a modbus server request
        /// </summary>
        /// <param name="serverEvents">An instance of server events provider</param>
        /// <returns>An instance of modbus server response for current request</returns>
        IModbusServerResponse IModbusServerRequest.Process(IServerEventsExecutor serverEvents)
        {
            this._logger.Log(String.Format("Received a request to read {0} words", this.NumberOfPoints));
            var args = new ReadInputRegistersEventArgs(this);

            serverEvents.OnReadInputRegistersRequest(args);
            if (!args.Handled)
            {
                this._logger.Log(PROCESS_ERROR, Category.ERROR, Priority.HIGH);
                Guard.Throw <ServerRequestException>(PROCESS_ERROR);
            }
            return(new ReadInputRegistersResponse(this.SlaveAddress, this.FunctionCode, this.NumberOfPoints, args.ReadRegisters));
        }
Esempio n. 2
0
 /// <summary>
 /// Processes a modbus server request
 /// </summary>
 /// <param name="serverEvents">An instance of server events provider</param>
 /// <returns>An instance of modbus server response for current request</returns>
 public IModbusServerResponse Process(IServerEventsExecutor serverEvents)
 {
     return(this._innerRequest.Process(serverEvents));
 }