embedded-io-adapters

Crates.ioembedded-io-adapters
lib.rsembedded-io-adapters
version0.6.1
sourcesrc
created_at2023-07-17 16:28:36.590068
updated_at2023-11-29 14:03:00.625147
descriptionAdapters between the `embedded-io` traits and other I/O traits
homepage
repositoryhttps://github.com/rust-embedded/embedded-hal
max_upload_size
id918655
size28,754
HAL (github:rust-embedded:hal)

documentation

README

crates.io crates.io Documentation

embedded-io-adapters

This project is developed and maintained by the HAL team.

Adapters between the embedded-io and embedded-io-async traits and other IO traits.

The adapters are structs that wrap an I/O stream and implement another family of I/O traits based on the wrapped streams. This allows "converting" from an embedded_io::Read to a std::io::Read or vice versa, for example.

There are no separate adapters for Read/ReadBuf/Write traits. Instead, a single adapter implements the right traits based on what the inner type implements. This allows using these adapters when using combinations of traits, like Read+Write.

Supported traits

For embedded-io:

  • std::io traits. Needs the std feature.

For embedded-io-async:

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.60 and up. It might compile with older versions but that may change in any new patch release.

See here for details on how the MSRV may be upgraded.

Enabling any of the tokio-* or futures-* Cargo features requires Rust nightly newer than nightly-2022-11-22, due to requiring support for async fn in traits (AFIT), which is not stable yet. Keep in mind Rust nightlies can make backwards-incompatible changes to unstable features at any time.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 840

cargo fmt