Remove the *Callback classes in the network hierarchy and put its functionality directly into the *Client classes
benedekh opened this issue · 1 comments
benedekh commented
Because it introduces an unnecessary complexity in the hierarchy network stack.
benedekh commented
The *Client classes cannot be removed as of now due to the IMessageHandler<_MessageType_>
design pattern. In Java, due to type erasure, a class cannot implement two interfaces which only differ by their Generic Type binding.
That's why we need a separate *Client class for each MessageType. But after that these messages can be handled by the same *Callback, since they only need separate handler methods, e.g. on_MessageType_(....)
as they are implemented now.