This PR enables you to pass a custom ZvtCommunication class to the Zvt client. A custom ReceiveHandler can already be injected but this is sometimes not enough to cover a specific case. It also changes most members of those classes to protected / virtual to allow for simple subclassing.
I do understand if you dislike these changes from a code-style point of view and reject this proposal.
Backwards Compatibility
From the protocol side no changes are introduced, there should not be any issues.
Summary
This PR enables you to pass a custom
ZvtCommunication
class to the Zvt client. A customReceiveHandler
can already be injected but this is sometimes not enough to cover a specific case. It also changes most members of those classes toprotected
/virtual
to allow for simple subclassing.I do understand if you dislike these changes from a code-style point of view and reject this proposal.
Backwards Compatibility
From the protocol side no changes are introduced, there should not be any issues.