Protocol should not be part of the vehicle plugin but implemented in a different way
Such approach helps with two things:
- Remove protocol specific code from vehicle code
- Use only high abstraction level functions related to vehicle protocol
- Removing protocol related code from our actual plugins will not break compatibility with future plugins that want to implement privated protocol communication layers.
Alternatives:
- My suggestion is to move the communication protocol from the vehicle plugin layer to be part of kirogi main code.
- I was thinking initially to move the protocols to a plugin like architecture, but the protocols can be really different from each one.