maviola/core/io/core.rs
1//! # Low-level I/O abstractions
2//!
3//! This module re-exports [`Sender`] / [`Receiver`] for synchronous I/O and [`AsyncSender`] /
4//! [`AsyncReceiver`] for the synchronous one from [Mavio](https://crates.io/crates/mavio).
5//! Technically speaking, the entire library is an extension for these low-level primitives. It is
6//! possible to combine high-level and low-level tools since both are using the same MAVLink
7//! abstractions defined in [`protocol`](crate::protocol) (with a handful of extras).
8//!
9//! All low-level MAVLink abstractions are available in [`crate::core`].
10
11#[doc(inline)]
12#[cfg(feature = "sync")]
13/// <sup>`sync`</sup>
14/// <sup>| [`mavio`](https://crates.io/crates/mavio)</sup>
15pub use mavio::io::{Receiver, Sender};
16
17#[doc(inline)]
18#[cfg(feature = "async")]
19/// <sup>`async`</sup>
20/// <sup>| [`mavio`](https://crates.io/crates/mavio)</sup>
21pub use mavio::io::{AsyncReceiver, AsyncSender};