Those were only used by Sebastian's ADS driver. Perhaps let him explain them as I never quite managed to wrap my head around their necessity. For me they were also sort of evil as they allow to explicitly send out proprietary stuff, which I liked to prevent.
Chris Am 07.10.18, 15:35 schrieb "Andrey Skorikov" <[email protected]>: Hello all, currently there are three interfaces in the org.apache.plc4x.java.api.messages package of the API module, which are disconnected from the rest of the API: - PlcProprietaryRequest - PlcProprietaryResponse - PlcProtocolMessage How are these types supposed to be used? As far as I understand, clients of the API cannot obtain instances of these types in any way. Admittedly, there is an interface PlcProprietarySender that accepts PlcProprietaryRequests, but it resides in the driver-base module and therefore is inaccessible to the client. If we want to provide an extension point for protocols, allowing clients to break the abstraction layer and issue proprietary requests at their own risk, then there must be some sort of interface which they can use to accomplish that. Either the PlcProprietarySender interface must be made accessible to the clients - which means it must moved to the API module, and integrated with the rest of the API - or we should remove the proprietary types from the API module, for they are useless at the moment anyway. The same problem concerns the PlcProtocolMessage interface. None of the other types in the API module refer to it. This type is used in the driver-base module, but it seems to me that it is only an implementation detail. Perhaps we can move the type out of the API module into the driver-base module? Andrey
