chainbuf

Crates.iochainbuf
lib.rschainbuf
version0.1.0
sourcesrc
created_at2015-10-24 20:17:29.166637
updated_at2021-05-24 11:09:59.251224
descriptionFast chained buffers
homepage
repositoryhttps://github.com/little-arhat/rust-chainbuf
max_upload_size
id3296
size62,279
Tools (github:rust-embedded:tools)

documentation

README

Chainbuf

Build Status

Chained buffer of contigious byte chunks.

Simple usage

Plug the package into your app via Cargo:

[dependencies]
chainbuf = "0.0.4"

then use it:

extern crate chainbuf;
use chainbuf::Chain;
let mut chain = Chain::new();
chain.append_bytes("helloworld".as_bytes());
let some_bytes = chain.pullup(2);

Details of implementation

Chainbuf consists of linked list of nodes, with start and end offsets and a reference counted pointer to DataHolder. DataHolders can be shared across different chains, so for mutation new nodes and data holders are created (as in Copy-On-Write).

Commit count: 153

cargo fmt