Struct std::old_io::BufferedReaderUnstable [-] [+] [src]

pub struct BufferedReader<R> {
    // some fields omitted
}

Wraps a Reader and buffers input from it

It can be excessively inefficient to work directly with a Reader. For example, every call to read on TcpStream results in a system call. A BufferedReader performs large, infrequent reads on the underlying Reader and maintains an in-memory buffer of the results.

Example

fn main() { use std::old_io::{BufferedReader, File}; let file = File::open(&Path::new("message.txt")); let mut reader = BufferedReader::new(file); let mut buf = [0; 100]; match reader.read(&mut buf) { Ok(nread) => println!("Read {} bytes", nread), Err(e) => println!("error reading: {}", e) } }
use std::old_io::{BufferedReader, File};

let file = File::open(&Path::new("message.txt"));
let mut reader = BufferedReader::new(file);

let mut buf = [0; 100];
match reader.read(&mut buf) {
    Ok(nread) => println!("Read {} bytes", nread),
    Err(e) => println!("error reading: {}", e)
}

Methods

impl<R: Reader> BufferedReader<R>

fn with_capacity(cap: usize, inner: R) -> BufferedReader<R>

Creates a new BufferedReader with the specified buffer capacity

fn new(inner: R) -> BufferedReader<R>

Creates a new BufferedReader with a default buffer capacity

fn get_ref<'a>(&self) -> &R

Gets a reference to the underlying reader.

fn get_mut(&mut self) -> &mut R

Gets a mutable reference to the underlying reader.

Warning

It is inadvisable to directly read from the underlying reader.

fn into_inner(self) -> R

Unwraps this BufferedReader, returning the underlying reader.

Note that any leftover data in the internal buffer is lost.

Trait Implementations

impl<R> Debug for BufferedReader<R> where R: Debug

fn fmt(&self, fmt: &mut Formatter) -> Result

impl<R: Reader> Buffer for BufferedReader<R>

fn fill_buf<'a>(&'a mut self) -> IoResult<&'a [u8]>

fn consume(&mut self, amt: usize)

fn read_line(&mut self) -> IoResult<String>

fn read_until(&mut self, byte: u8) -> IoResult<Vec<u8>>

fn read_char(&mut self) -> IoResult<char>

impl<R: Reader> Reader for BufferedReader<R>

fn read(&mut self, buf: &mut [u8]) -> IoResult<usize>

fn read_at_least(&mut self, min: usize, buf: &mut [u8]) -> IoResult<usize>

fn read_byte(&mut self) -> IoResult<u8>

fn push(&mut self, len: usize, buf: &mut Vec<u8>) -> IoResult<usize>

fn push_at_least(&mut self, min: usize, len: usize, buf: &mut Vec<u8>) -> IoResult<usize>

fn read_exact(&mut self, len: usize) -> IoResult<Vec<u8>>

fn read_to_end(&mut self) -> IoResult<Vec<u8>>

fn read_to_string(&mut self) -> IoResult<String>

fn read_le_uint_n(&mut self, nbytes: usize) -> IoResult<u64>

fn read_le_int_n(&mut self, nbytes: usize) -> IoResult<i64>

fn read_be_uint_n(&mut self, nbytes: usize) -> IoResult<u64>

fn read_be_int_n(&mut self, nbytes: usize) -> IoResult<i64>

fn read_le_uint(&mut self) -> IoResult<usize>

fn read_le_int(&mut self) -> IoResult<isize>

fn read_be_uint(&mut self) -> IoResult<usize>

fn read_be_int(&mut self) -> IoResult<isize>

fn read_be_u64(&mut self) -> IoResult<u64>

fn read_be_u32(&mut self) -> IoResult<u32>

fn read_be_u16(&mut self) -> IoResult<u16>

fn read_be_i64(&mut self) -> IoResult<i64>

fn read_be_i32(&mut self) -> IoResult<i32>

fn read_be_i16(&mut self) -> IoResult<i16>

fn read_be_f64(&mut self) -> IoResult<f64>

fn read_be_f32(&mut self) -> IoResult<f32>

fn read_le_u64(&mut self) -> IoResult<u64>

fn read_le_u32(&mut self) -> IoResult<u32>

fn read_le_u16(&mut self) -> IoResult<u16>

fn read_le_i64(&mut self) -> IoResult<i64>

fn read_le_i32(&mut self) -> IoResult<i32>

fn read_le_i16(&mut self) -> IoResult<i16>

fn read_le_f64(&mut self) -> IoResult<f64>

fn read_le_f32(&mut self) -> IoResult<f32>

fn read_u8(&mut self) -> IoResult<u8>

fn read_i8(&mut self) -> IoResult<i8>