#no-std #networking #datalink #protocol

no-std framed

Send and receive data over lossy streams of bytes

11 releases

Uses old Rust 2015

0.4.3 Apr 13, 2019
0.4.2 Apr 13, 2019
0.4.1 Dec 31, 2017
0.3.0 Dec 30, 2017
0.1.4 Dec 25, 2017

#1373 in Embedded development

Download history 1/week @ 2023-10-22 20/week @ 2023-10-29 2/week @ 2023-11-05 1/week @ 2023-11-12 12/week @ 2023-11-19 46/week @ 2023-11-26 1/week @ 2023-12-03 13/week @ 2023-12-17 22/week @ 2023-12-24 11/week @ 2023-12-31 17/week @ 2024-01-21 33/week @ 2024-01-28 13/week @ 2024-02-04

63 downloads per month

MIT/Apache

58KB
1K SLoC

framed

Rust crate to send and receive data over lossy streams of bytes.

  • Supports sending slices of bytes or serde-serialized types.
  • Uses a checksum to detect and skip corrupted frames.
  • Includes a command-line tool to decode and display serialized types.

Crate

Documentation: Documentation

This crate should build on the latest Rust stable, beta, and nightly toolchains. When the cargo feature use_std is disabled (requires nightly toolchain), it should also build in embedded projects with no_std.

Development

Source code and issues on GitHub: GitHub last commit

CI build on Travis CI: Build Status

Pull requests welcome.

Sub-crates

  • framed in directory ./framed:

    The core library.

  • framed_decode in directory ./decode:

    A command line tool to decode data encoded by the library. See ./decode/README.md for its documentation.

  • framed_test_type in directory ./test_type:

    A crate for testing framed: a library with encodable types and a binary that outputs encoded data.

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.

Dependencies

~420–690KB
~13K SLoC