I would like to see this crate split into a workspace of two crates:
The mqtt abstraction (the trait)
The actual implementation
This would allow us to do changes to the implementation, without higher level crates like rustot having to bump it's dependency version, unless the actual trait signature has changed.
This would furthermore allow people to easier use higher level mqtt crates with other mqtt clients, as long as they implement the shared abstraction.
Any suggestions on naming of said abstraction crate?
How about calling the trait simply mqttrust::Client, the same way as these projects? rumqttmodbusredis
And in a separated workspace, say mqttrust_core, we can name mqttrust_core::Client for the actual implementation.
I would like to see this crate split into a workspace of two crates:
This would allow us to do changes to the implementation, without higher level crates like
rustot
having to bump it's dependency version, unless the actual trait signature has changed.This would furthermore allow people to easier use higher level mqtt crates with other mqtt clients, as long as they implement the shared abstraction.
Any suggestions on naming of said abstraction crate?