Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REFACTOR]: Go over the EventPlcConnection interface in the API #1407

Open
1 of 16 tasks
chrisdutz opened this issue Feb 14, 2024 · 1 comment
Open
1 of 16 tasks

[REFACTOR]: Go over the EventPlcConnection interface in the API #1407

chrisdutz opened this issue Feb 14, 2024 · 1 comment

Comments

@chrisdutz
Copy link
Contributor

What would you like to happen?

The API contains a type EventPlcConnection which is an inteface that doesn't quite align with the rest of the API.

I think we should possibly have a more detailed look at this.

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
@splatch
Copy link
Contributor

splatch commented Apr 12, 2024

The historic context of this connection is fairly basic:

  1. User application has no ways to determine state of connection, we internally process connected/disconnected events, but user never actually knows if connection was terminated by remote until it gets an error. Getting a ConnectionListener allows to track lifecycle of connection and act accordingly.
  2. There is no way to simplify track low level traffic other than tapping a wireshark, which can be troublesome under production environments. Possibility to attach MessageExchangeListener provides interception point for user application to get messages in raw form.

That's whole motivation of it. Given that our API didn't have above concepts they were built as a supplement with this extra interface. It would be ideal if they could travel to the SPI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants