When we started I thought (hoped) that ROS1 native implementation and rosbridge implementation would share a lot more code.
As its stands they are like 99% fully independent and really only share the same codegen tools.
I think we should ultimately split ros1_native out into a crate roslibrust_ros1 and also potentially split the rosbridge functionality out into roslibrust_rosbridge the core roslibrust crate can ultimately contain a common trait based API for both implementations and re-expose the child crates with pub use statements.
As it stands if someone wants to use ros1_native functionality only, they have to pay the cost of compiling the rosbridge functionality...
When we started I thought (hoped) that ROS1 native implementation and rosbridge implementation would share a lot more code.
As its stands they are like 99% fully independent and really only share the same codegen tools.
I think we should ultimately split ros1_native out into a crate
roslibrust_ros1
and also potentially split the rosbridge functionality out intoroslibrust_rosbridge
the coreroslibrust
crate can ultimately contain a common trait based API for both implementations and re-expose the child crates withpub use
statements.As it stands if someone wants to use ros1_native functionality only, they have to pay the cost of compiling the rosbridge functionality...