There are a few types like SerialSettings and nested types like FlowControl that are needed for setting up a channel, but in a client's application they'd still need a mirrored ClientSerialSettings type, and have annoying conversion code to bridge the two.
A nice quality-of-life improvement would be to extract these types from rodbus/dnp3 into their own crate, and have the libraries import and use these types. With this crate imported into the client's code, they can avoid having to write and maintain boilerplate.
It'd be helpful to have these types Serde and Clap derivable, and put that behind a feature gate for the crate.
You can see the dnp3 ticket here
There are a few types like
SerialSettingsand nested types likeFlowControlthat are needed for setting up a channel, but in a client's application they'd still need a mirroredClientSerialSettingstype, and have annoying conversion code to bridge the two.A nice quality-of-life improvement would be to extract these types from
rodbus/dnp3into their own crate, and have the libraries import and use these types. With this crate imported into the client's code, they can avoid having to write and maintain boilerplate.It'd be helpful to have these types
SerdeandClapderivable, and put that behind a feature gate for the crate.You can see the
dnp3ticket here