#reference-counting #u8 #rc #read #arc #in-memory #io-read

rc-u8-reader

A tiny implement for reading u8 data from a reference counted instance

17 stable releases

2.0.16 Nov 3, 2022
2.0.15 Mar 18, 2022
2.0.14 Apr 26, 2021
2.0.12 Jul 29, 2020
1.0.1 May 26, 2019

#172 in Data structures

Download history 227/week @ 2023-12-15 73/week @ 2023-12-22 25/week @ 2023-12-29 52/week @ 2024-01-05 67/week @ 2024-01-12 42/week @ 2024-01-19 34/week @ 2024-01-26 15/week @ 2024-02-02 42/week @ 2024-02-09 72/week @ 2024-02-16 97/week @ 2024-02-23 136/week @ 2024-03-01 88/week @ 2024-03-08 88/week @ 2024-03-15 75/week @ 2024-03-22 187/week @ 2024-03-29

447 downloads per month
Used in 10 crates (3 directly)

MIT license

18KB
405 lines

Rc U8 Reader

CI

A tiny implement for reading u8 data from a reference counted instance.

Examples

RcU8Reader

use std::rc::Rc;
use std::io::Read;

use rc_u8_reader::RcU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = RcU8Reader::new(Rc::new(data));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

RcRefCellU8Reader

use std::cell::RefCell;
use std::rc::Rc;
use std::io::Read;

use rc_u8_reader::RcRefCellU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = RcRefCellU8Reader::new(Rc::new(RefCell::new(data)));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

ArcU8Reader

use std::sync::Arc;
use std::io::Read;

use rc_u8_reader::ArcU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = ArcU8Reader::new(Arc::new(data));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

ArcMutexU8Reader

use std::sync::{Arc, Mutex};
use std::io::Read;

use rc_u8_reader::ArcMutexU8Reader;

let data = b"Hello world!".to_vec();

let mut reader = ArcMutexU8Reader::new(Arc::new(Mutex::new(data)));

let mut result = String::new();

reader.read_to_string(&mut result).unwrap();

assert_eq!("Hello world!".to_string(), result);

Crates.io

https://crates.io/crates/rc-u8-reader

Documentation

https://docs.rs/rc-u8-reader

License

MIT

Dependencies

~0–1.2MB
~19K SLoC