Hi, for the sake of completeness I am bringing aggregated feedback I also added on the pull request here, so it’s archived.
I would probably remove the TODO items from the code, as I think these should rather be discussions on the list and/or Jira issues and we shouldn’t be having discussions in the code (just my opinion) * Using UUID for equality checks: I would hesitate using these, as generating a UUID consumes a lot of CPU power and each UUID might consume more memory than the objects payload. * Cleanup of the request map in the S7Protocol (and others): I absolutely agree on this. This was one of the things I knew we will be needing but was hesitant to start working on this, as I didn’t have an idea on how to do this Netty-style. Fortunately when looking into the Enthernet/IP drivers internals, the author there is doing exactly this sort of thing: https://github.com/digitalpetri/ethernet-ip/blob/master/cip-client/src/main/java/com/digitalpetri/enip/cip/CipClient.java (Have a look at the “pending” and “timeouts” properties). * Making the items immutable … I agree :-) But as I mentioned, this is just my opinion. Chris