Crates.io | chain-reader |
lib.rs | chain-reader |
version | 1.0.0 |
created_at | 2025-04-17 15:23:34.999019+00 |
updated_at | 2025-09-01 07:53:06.577478+00 |
description | Combining multiple [`Read`] instances into a sequential read pipeline with configurable error handling |
homepage | |
repository | https://github.com/Meow0x7E/chain-reader |
max_upload_size | |
id | 1637999 |
size | 13,872 |
A Rust library for sequentially chaining multiple [Read
] instances with configurable error handling.
ErrorAction
] enumstd::io::Chain
use chain_reader::{ChainReader, ErrorAction};
use std::io::{self, Read};
let mut chain = ChainReader::new(|e| match e.kind() {
io::ErrorKind::Interrupted => ErrorAction::Retry,
_ => ErrorAction::RetryAndSkip,
});
chain.push(io::stdin());
chain.push_iter(vec![
io::Cursor::new("hello "),
io::Cursor::new("world!"),
]);
let mut content = String::new();
chain.read_to_string(&mut content)?;