#rlp #codec #no-std #decoding #prefix #compression #decode

no-std etcommon-rlp

Recursive-length prefix encoding, decoding, and compression

8 releases

Uses old Rust 2015

0.2.5 Oct 25, 2019
0.2.4 Oct 21, 2018
0.2.3 Oct 19, 2017
0.2.2 Sep 3, 2017
0.1.1 Jul 5, 2017

#1797 in Magic Beans

Download history 960/week @ 2023-12-17 510/week @ 2023-12-24 752/week @ 2023-12-31 1403/week @ 2024-01-07 1030/week @ 2024-01-14 956/week @ 2024-01-21 1262/week @ 2024-01-28 1324/week @ 2024-02-04 1020/week @ 2024-02-11 1046/week @ 2024-02-18 1088/week @ 2024-02-25 795/week @ 2024-03-03 1129/week @ 2024-03-10 1121/week @ 2024-03-17 956/week @ 2024-03-24 1087/week @ 2024-03-31

4,348 downloads per month
Used in 24 crates (12 directly)

MIT/Apache

60KB
1K SLoC

RLP

Recursive-length-prefix encoding, decoding, and compression in Rust.

License

Unlike most parts of Parity, which fall under the GPLv3, this package is dual-licensed under MIT/Apache2 at the user's choice. Find the associated license files in this directory as LICENSE-MIT and LICENSE-APACHE2 respectively.


lib.rs:

Recursive Length Prefix serialization crate.

Allows encoding, decoding, and view onto rlp-slice

What should you use when?

Use encode function when:

  • You want to encode something inline.
  • You do not work on big set of data.
  • You want to encode whole data structure at once.

Use decode function when:

  • You want to decode something inline.
  • You do not work on big set of data.
  • You want to decode whole rlp at once.

Use RlpStream when:

  • You want to encode something in portions.
  • You encode a big set of data.

Use Rlp when:

  • You are working on trusted data (not corrupted).
  • You want to get view onto rlp-slice.
  • You don't want to decode whole rlp at once.

Use UntrustedRlp when:

  • You are working on untrusted data (~corrupted).
  • You need to handle data corruption errors.
  • You are working on input data.
  • You want to get view onto rlp-slice.
  • You don't want to decode whole rlp at once.

Dependencies

~135KB