13 unstable releases (4 breaking)

0.5.4 Jun 28, 2024
0.5.3 May 21, 2024
0.5.0 Jan 7, 2024
0.4.3 Oct 31, 2023
0.1.0 Mar 2, 2023

#293 in Embedded development

Download history 328/week @ 2025-01-15 366/week @ 2025-01-22 344/week @ 2025-01-29 894/week @ 2025-02-05 1293/week @ 2025-02-12 701/week @ 2025-02-19 749/week @ 2025-02-26 932/week @ 2025-03-05 728/week @ 2025-03-12 721/week @ 2025-03-19 636/week @ 2025-03-26 495/week @ 2025-04-02 477/week @ 2025-04-09 338/week @ 2025-04-16 446/week @ 2025-04-23 1732/week @ 2025-04-30

3,058 downloads per month
Used in 2 crates (via reqwless)

MIT/Apache

18KB
353 lines

Buffer Types for embedded-io

CI crates.io docs.rs

The buffered-io crate implements buffering for the embedded-io/embedded-io-async Read and Write traits.

Example

tokio_test::block_on(async {
    use buffered_io::asynch::BufferedWrite;
    use embedded_io_async::Write;
    
    let uart_tx = Vec::new(); // The underlying uart peripheral implementing Write to where buffered bytes are written
    let mut write_buf = [0; 120];
    let mut buffering = BufferedWrite::new(uart_tx, &mut write_buf);
    buffering.write(b"hello").await.unwrap(); // This write is buffered
    buffering.write(b" ").await.unwrap(); // This write is also buffered
    buffering.write(b"world").await.unwrap(); // This write is also buffered
    buffering.flush().await.unwrap(); // The string "hello world" is written to uart in one write
})

Dependencies

~46KB