FactbirdHQ / mqttrust

MQTT client for embedded devices, written in rust
53 stars 5 forks source link

Split trait from implementation #26

Closed MathiasKoch closed 3 years ago

MathiasKoch commented 3 years ago

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?

keisrk commented 3 years ago

How about calling the trait simply mqttrust::Client, the same way as these projects? rumqtt modbus redis And in a separated workspace, say mqttrust_core, we can name mqttrust_core::Client for the actual implementation.