#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

#158 in Data structures

Download history 67/week @ 2024-01-09 53/week @ 2024-01-16 23/week @ 2024-01-23 27/week @ 2024-01-30 27/week @ 2024-02-06 60/week @ 2024-02-13 74/week @ 2024-02-20 175/week @ 2024-02-27 70/week @ 2024-03-05 94/week @ 2024-03-12 76/week @ 2024-03-19 77/week @ 2024-03-26 129/week @ 2024-04-02 47/week @ 2024-04-09 70/week @ 2024-04-16 59/week @ 2024-04-23

324 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