11import { EventEmitter } from 'events'
22import { Socket } from 'net'
3+ import ModbusAbstractRequest from './abstract-request'
34import { BooleanArray } from './constants'
45import ModbusServerClient from './modbus-server-client'
56
7+ type AbstractRequest = ModbusAbstractRequest
8+
69export interface IModbusServerOptions {
710 coils : Buffer
811 discrete : Buffer
@@ -17,7 +20,7 @@ const DEFAULT_MODBUS_SERVER_OPTIONS: IModbusServerOptions = {
1720 input : Buffer . alloc ( 1024 )
1821}
1922
20- export type BufferCallback = ( buffer : Buffer ) => void
23+ export type BufferCB = ( buffer : Buffer ) => void
2124
2225export default class ModbusServer extends EventEmitter {
2326 private _options : IModbusServerOptions
@@ -59,40 +62,69 @@ export default class ModbusServer extends EventEmitter {
5962 return this . _input
6063 }
6164
65+ public on ( event : 'connection' , listener : ( client : ModbusServerClient < any , any , any > ) => void ) : this
66+ public on ( event : 'readCoils' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
67+ public on ( event : 'preReadCoils' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
68+ public on ( event : 'postReadCoils' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
69+ public on ( event : 'readDiscreteInputs' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
70+ public on ( event : 'preReadDiscreteInputs' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
71+ public on ( event : 'postReadDiscreteInputs' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
72+ public on ( event : 'readHoldingRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
73+ public on ( event : 'preReadHoldingRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
74+ public on ( event : 'postReadHoldingRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
75+ public on ( event : 'readInputRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
76+ public on ( event : 'preReadInputRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
77+ public on ( event : 'postReadInputRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
78+ public on ( event : 'writeSingleCoil' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
79+ public on ( event : 'preWriteSingleCoil' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
80+ public on ( event : 'postWriteSingleCoil' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
81+ public on ( event : 'writeSingleRegister' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
82+ public on ( event : 'preWriteSingleRegister' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
83+ public on ( event : 'postWriteSingleRegister' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
84+ public on ( event : 'writeMultipleCoils' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
85+ public on ( event : 'preWriteMultipleCoils' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
86+ public on ( event : 'writeMultipleCoils' , listener : ( coils : Buffer , oldStatus : BooleanArray ) => void ) : this
87+ public on ( event : 'postWriteMultipleCoils' , listener : ( coils : Buffer , newStatus : BooleanArray ) => void ) : this
88+ public on ( event : 'postWriteMultipleCoils' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
89+ public on ( event : 'writeMultipleRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
90+ public on ( event : 'preWriteMultipleRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
91+ public on ( event : 'writeMultipleRegisters' , listener : ( holdingRegisters : Buffer ) => void ) : this
92+ public on ( event : 'postWriteMultipleRegisters' , listener : ( holdingRegisters : Buffer ) => void ) : this
93+ public on ( event : 'postWriteMultipleRegisters' , listener : ( request : AbstractRequest , cb : BufferCB ) => void ) : this
6294 public on ( event : 'connection' , listener : ( socket : Socket ) => void ) : this
6395 public on ( event : string | symbol , listener : ( ...args : any [ ] ) => void ) : this {
6496 return super . on ( event , listener )
6597 }
6698
6799 public emit ( event : 'connection' , client : ModbusServerClient < any , any , any > ) : boolean
68- public emit ( event : 'readCoils' , request : any , cb : BufferCallback ) : boolean
69- public emit ( event : 'preReadCoils' , request : any , cb : BufferCallback ) : boolean
70- public emit ( event : 'postReadCoils' , request : any , cb : BufferCallback ) : boolean
71- public emit ( event : 'readDiscreteInputs' , request : any , cb : BufferCallback ) : boolean
72- public emit ( event : 'preReadDiscreteInputs' , request : any , cb : BufferCallback ) : boolean
73- public emit ( event : 'postReadDiscreteInputs' , request : any , cb : BufferCallback ) : boolean
74- public emit ( event : 'readHoldingRegisters' , request : any , cb : BufferCallback ) : boolean
75- public emit ( event : 'preReadHoldingRegisters' , request : any , cb : BufferCallback ) : boolean
76- public emit ( event : 'postReadHoldingRegisters' , request : any , cb : BufferCallback ) : boolean
77- public emit ( event : 'readInputRegisters' , request : any , cb : BufferCallback ) : boolean
78- public emit ( event : 'preReadInputRegisters' , request : any , cb : BufferCallback ) : boolean
79- public emit ( event : 'postReadInputRegisters' , request : any , cb : BufferCallback ) : boolean
80- public emit ( event : 'writeSingleCoil' , request : any , cb : BufferCallback ) : boolean
81- public emit ( event : 'preWriteSingleCoil' , request : any , cb : BufferCallback ) : boolean
82- public emit ( event : 'postWriteSingleCoil' , request : any , cb : BufferCallback ) : boolean
83- public emit ( event : 'writeSingleRegister' , request : any , cb : BufferCallback ) : boolean
84- public emit ( event : 'preWriteSingleRegister' , request : any , cb : BufferCallback ) : boolean
85- public emit ( event : 'postWriteSingleRegister' , request : any , cb : BufferCallback ) : boolean
86- public emit ( event : 'writeMultipleCoils' , request : any , cb : BufferCallback ) : boolean
87- public emit ( event : 'preWriteMultipleCoils' , request : any , cb : BufferCallback ) : boolean
100+ public emit ( event : 'readCoils' , request : AbstractRequest , cb : BufferCB ) : boolean
101+ public emit ( event : 'preReadCoils' , request : AbstractRequest , cb : BufferCB ) : boolean
102+ public emit ( event : 'postReadCoils' , request : AbstractRequest , cb : BufferCB ) : boolean
103+ public emit ( event : 'readDiscreteInputs' , request : AbstractRequest , cb : BufferCB ) : boolean
104+ public emit ( event : 'preReadDiscreteInputs' , request : AbstractRequest , cb : BufferCB ) : boolean
105+ public emit ( event : 'postReadDiscreteInputs' , request : AbstractRequest , cb : BufferCB ) : boolean
106+ public emit ( event : 'readHoldingRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
107+ public emit ( event : 'preReadHoldingRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
108+ public emit ( event : 'postReadHoldingRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
109+ public emit ( event : 'readInputRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
110+ public emit ( event : 'preReadInputRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
111+ public emit ( event : 'postReadInputRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
112+ public emit ( event : 'writeSingleCoil' , request : AbstractRequest , cb : BufferCB ) : boolean
113+ public emit ( event : 'preWriteSingleCoil' , request : AbstractRequest , cb : BufferCB ) : boolean
114+ public emit ( event : 'postWriteSingleCoil' , request : AbstractRequest , cb : BufferCB ) : boolean
115+ public emit ( event : 'writeSingleRegister' , request : AbstractRequest , cb : BufferCB ) : boolean
116+ public emit ( event : 'preWriteSingleRegister' , request : AbstractRequest , cb : BufferCB ) : boolean
117+ public emit ( event : 'postWriteSingleRegister' , request : AbstractRequest , cb : BufferCB ) : boolean
118+ public emit ( event : 'writeMultipleCoils' , request : AbstractRequest , cb : BufferCB ) : boolean
119+ public emit ( event : 'preWriteMultipleCoils' , request : AbstractRequest , cb : BufferCB ) : boolean
88120 public emit ( event : 'writeMultipleCoils' , coils : Buffer , oldStatus : BooleanArray ) : boolean
89121 public emit ( event : 'postWriteMultipleCoils' , coils : Buffer , newStatus : BooleanArray ) : boolean
90- public emit ( event : 'postWriteMultipleCoils' , request : any , cb : BufferCallback ) : boolean
91- public emit ( event : 'writeMultipleRegisters' , request : any , cb : BufferCallback ) : boolean
92- public emit ( event : 'preWriteMultipleRegisters' , request : any , cb : BufferCallback ) : boolean
122+ public emit ( event : 'postWriteMultipleCoils' , request : AbstractRequest , cb : BufferCB ) : boolean
123+ public emit ( event : 'writeMultipleRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
124+ public emit ( event : 'preWriteMultipleRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
93125 public emit ( event : 'writeMultipleRegisters' , holdingRegisters : Buffer ) : boolean
94126 public emit ( event : 'postWriteMultipleRegisters' , holdingRegisters : Buffer ) : boolean
95- public emit ( event : 'postWriteMultipleRegisters' , request : any , cb : BufferCallback ) : boolean
127+ public emit ( event : 'postWriteMultipleRegisters' , request : AbstractRequest , cb : BufferCB ) : boolean
96128 public emit ( event : string | symbol , ...args : any [ ] ) : boolean {
97129 return super . emit ( event , ...args )
98130 }
0 commit comments