Reorganize timeout handling in plc4j-spi
splatch opened this issue · comments
What would you like to happen?
The timeout handling in plc4j is affected by its own logic where registered handlers are called only when packets arrive. This means that in some cases, when communication line is broken or simply hanged, timeouts may never be reported back to driver.
There were several attempts to fix that, however none of them have worked. The recent work in #818 shed some light on some of netty utilities which could be wired into the spi to separate timeout handling. Given that our use of netty in plc4j is never ending source of troubles and confusion (it orchestrates a lot!), we may consider introducing new SPI types to hide specifics, even between our own internals.
Programming Languages
- plc4j
- plc4go
- plc4c
- plc4net
Protocols
- AB-Ethernet
- ADS /AMS
- BACnet/IP
- CANopen
- DeltaV
- DF1
- EtherNet/IP
- Firmata
- KNXnet/IP
- Modbus
- OPC-UA
- S7
Addressed through #822.