leftover 0.0.2

A BufRead adapter for data spanning buffer boundaries
Documentation

leftover

leftover is a BufRead adapter that keeps partial data available across buffer boundaries.

use std::io::BufReader;

use leftover::LeftoverReader;

let input = BufReader::with_capacity(3, b"hello\n".as_slice());
let mut reader = LeftoverReader::new(input);

// Copy the incomplete line into the leftover before reading more.
reader.fill_view().unwrap().accumulate();

let view = reader.fill_view().unwrap();
assert_eq!(view.leftover(), b"hel");
assert_eq!(view.buffer(), b"lo\n");

// Take the saved prefix together with three bytes from the current chunk.
assert_eq!(view.take_view(3), b"hello\n");