#crypto #blob #iterator #storage #binary #utility #crates #build

no-std dev blobby

Iterator over simple binary blob storage

3 releases

0.1.2 Jan 28, 2019
0.1.1 Sep 26, 2018
0.1.0 Sep 26, 2018

#24 in No standard library

Download history 625/week @ 2019-01-21 718/week @ 2019-01-28 724/week @ 2019-02-04 887/week @ 2019-02-11 725/week @ 2019-02-18 1134/week @ 2019-02-25 1233/week @ 2019-03-04 1319/week @ 2019-03-11 1264/week @ 2019-03-18 1605/week @ 2019-03-25 1472/week @ 2019-04-01 1396/week @ 2019-04-08 1656/week @ 2019-04-15 1904/week @ 2019-04-22 1925/week @ 2019-04-29

7,482 downloads per month
Used in 40 crates (5 directly)

MIT/Apache

9KB
126 lines

RustCrypto: utility crates Build Status

This repository contains various utility crates used in the RustCrypto project.

License

All crates 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.


lib.rs:

This crate provides several iterators over simply binary blob storage.

Storage format

Data in the storage format starts with magical string "blobby', next is one byte which denotes how many bytes are used for blob length prefixes. For example "blobby1" means that 1 byte is used for length, and "blobby2", "blobby4", "blobby8" mean 2, 4 and 8 bytes respectively (this number will be denoted as n).

After header goes a sequence of records. Each record starts with prefix of n bytes in which record length (excluding prefix) is stored using little endian format.

Examples

First line represents input binary string and second line shows blobs stored in it.

"blobby1\x05hello\x01 \x00\x05world"
"hello", " ", "", "world"

Example for n=2, note that length is given in little endian format:

"blobby2\x03\x00foo\x00\x00\x03\x00bar"
"foo", "", "bar"

Dependencies

~102KB