Hi Norman, thanks for your (fast) response.
I understand your concern (and we have the same one so I tried to drop our code in your Project... : >). So I think we will place and maintain it in PLC4X for now. And regarding your offer to review: I will very happily accept it. But then, let me finish up and document things a bit before you spend your time on it and then I'll repsond back here on the List to inform you. Julian Am Mittwoch, 14. August 2019 10:40:51 UTC+2 schrieb Norman Maurer: > > Hi there, > > Comments inline... > > On 13. Aug 2019, at 09:48, Julian Feinauer <[email protected] > <javascript:>> wrote: > > Hi devs, > > I come from the PLC4X project (https://plc4x.apache.org) and we use netty > as backbone for our drivers to communicate with PLCs. > But as some older PLCs are connected via Serial Ports we have the need to > communicate with them as well. > There exist several java libraries out there, like jSerialComm ( > https://fazecast.github.io/jSerialComm/, > https://github.com/Fazecast/jSerialComm). > In all our test it works quite nicely and can be used under Apache 2.0 > License so its a good fit. > > > There exist some projects which already introduced a bridge between netty > and jSerialComm like https://github.com/Ziver/Netty-Transport-jSerialComm. > But it relies on the (now deprecated) Oio Classes (as this is the rather > straightforward approach). > > > Just to be clear Oio classes will only be removed in Netty 5 and 4.x will > be supported for some more time :) > > > As solution I sat down and wrote a prototypic implementation of a Bridge > between jSerialComm and Netty based on the Nio Classes. > The code can be found at [1]. > JSerialComm provides an event based approach (I have no idea how it works > internally) so it is really non blocking and does not need any polling or > so. > But, of course quite some hacking is involved and currently i'm usure > whether it compiles on newer JDKs as I do a bit of reflection to access > (package) private fields from netty. > But today I hat the time to make a first round trip test with a real COM > Port and to my astonishment it really worked. > > > Cool :) > > > I have two questions now. > First, I would of course like any comments on my work and if its done > "okay" or if things could be improved. > Second, and most important, I'm unsure where to put that code. We can > include it in the PLC4X project as we need it there. > But over time it will be hard to maintain it there as we have not that > much people that know netty internals. > > > I will try to review the code once I have some cycles but this may take > some time. I am -1 to merge it into Netty itself as one of the things that > we struggled with in the past is to have too much code in the main project. > One of the plans for Netty 5 is to remove some stuff which is not widely > used and so does not get enough attention. Having the code outside of Netty > sounds like the right thing to do for me. > > > So one consideration was if the netty project would accept such a code > donation and take it into the netty codebase and maintain it there. > > > See above. > > > What are your ideas or comments, I woudl really appreciate any feedback! > > Julian > > [1] > https://github.com/JulianFeinauer/incubator-plc4x/tree/netty-serial-nio/plc4j/protocols/driver-bases/serial/src/main/java/org/apache/plc4x/java/base/connection > > PS.: Before starting this I asked on SO (but was closed) so here are my > initial thoughts > https://stackoverflow.com/questions/57441261/is-there-a-better-way-to-implement-serialport-communication-over-netty-than-usin > > -- > You received this message because you are subscribed to the Google Groups > "Netty discussions" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/netty/f507b9d6-0dfa-4e33-92a8-cfac540b9244%40googlegroups.com > > <https://groups.google.com/d/msgid/netty/f507b9d6-0dfa-4e33-92a8-cfac540b9244%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- You received this message because you are subscribed to the Google Groups "Netty discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/netty/883ed3f1-b081-4775-9bdd-94ecaa50f58d%40googlegroups.com.
