Better coupling with tokio's io, working well with chuncked sources like Serial and UDP
Access to CRC or any other parsing errors
Performance
An easy way to encode/decode messages from any std::io::{read, write}, or futures::{Stream, Sink} when there are no special rules for the driver (like rest, tlog, and udp server).
Because we are dealing with rust_mavlink::Messages structs (and not raw) in the rest and tlog divers, we keep using the same structs, as the rust-mavlink-codec provides a compatibility layer (although not optimized yet).
We also fix some mistakes and improve little things along the way
That said, V1+V2 is supported for every driver except rest and tlog, which are still accepting only V2.
On this patch:
std::io::{read, write}
,or futures::{Stream, Sink}
when there are no special rules for the driver (likerest
,tlog
, andudp server
).rust_mavlink::Messages
structs (and not raw) in therest
andtlog
divers, we keep using the same structs, as the rust-mavlink-codec provides a compatibility layer (although not optimized yet).That said, V1+V2 is supported for every driver except
rest
andtlog
, which are still accepting only V2.