Struct nue_io::Take [] [src]

pub struct Take<T> {
    // some fields omitted
}

Wraps around a stream to limit the length of the underlying stream.

This implementation differs from std::io::Take in that it also allows writes, and seeking forward is allowed if the underlying stream supports it.

Methods

impl<T> Take<T>

fn new(inner: T, limit: u64) -> Self

Creates a new Take with limit bytes

Trait Implementations

impl<T: Write> Write for Take<T>

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

fn flush(&mut self) -> Result<()>

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>

fn by_ref(&mut self) -> &mut Self

fn broadcast<W>(self, other: W) -> Broadcast<Self, W> where W: Write

impl<T: Read> Read for Take<T>

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

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

fn by_ref(&mut self) -> &mut Self

fn bytes(self) -> Bytes<Self>

fn chars(self) -> Chars<Self>

fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read

fn take(self, limit: u64) -> Take<Self>

fn tee<W>(self, out: W) -> Tee<Self, W> where W: Write

impl<T: SeekForward> SeekForward for Take<T>

fn seek_forward(&mut self, offset: u64) -> Result<u64>

impl<T: Tell> Tell for Take<T>

fn tell(&mut self) -> Result<u64>