Struct netio::Take [] [src]

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

Adapter which limits the bytes read from / written to an underlying reader / writer.

This struct is generally created by calling take() on a reader/writer. Please see the documentation of Read::take and Write::take for more details.

Methods

impl<T> Take<T>
[src]

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

fn limit(&self) -> u64

Returns the number of bytes that can be read before this instance will return EOF.

Note

This instance may reach EOF after reading fewer bytes than indicated by this method if the underlying Read instance reaches EOF.

Trait Implementations

impl<T: Read> Read for Take<T>
[src]

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

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

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

Read all bytes until EOF in this source, placing them into buf. Read more

fn read_to_string(&mut self, buf: &mut String) -> Result<usizeError>
1.0.0

Read all bytes until EOF in this source, placing them into buf. Read more

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

Read the exact number of bytes required to fill buf. Read more

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

Creates a "by reference" adaptor for this instance of Read. Read more

fn bytes(self) -> Bytes<Self>
1.0.0

Transforms this Read instance to an Iterator over its bytes. Read more

fn chars(self) -> Chars<Self>

Unstable (io)

: the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an Iterator over chars. Read more

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

Creates an adaptor which will chain this stream with another. Read more

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

Creates an adaptor which will read at most limit bytes from it. Read more

impl<T: BufRead> BufRead for Take<T>
[src]

fn fill_buf(&mut self) -> Result<&[u8]>

Fills the internal buffer of this object, returning the buffer contents. Read more

fn consume(&mut self, amt: usize)

Tells this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to read. Read more

fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usizeError>
1.0.0

Read all bytes into buf until the delimiter byte is reached. Read more

fn read_line(&mut self, buf: &mut String) -> Result<usizeError>
1.0.0

Read all bytes until a newline (the 0xA byte) is reached, and append them to the provided buffer. Read more

fn split(self, byte: u8) -> Split<Self>
1.0.0

Returns an iterator over the contents of this reader split on the byte byte. Read more

fn lines(self) -> Lines<Self>
1.0.0

Returns an iterator over the lines of this reader. Read more

impl<T: BufReadGrow> BufReadGrow for Take<T>
[src]

fn grow_buf(&mut self) -> Result<&[u8]>

Grows the internal buffer of this object by at least one byte, returning the buffer contents. Read more

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

Fills the internal buffer to at least the specified amount, returning the buffer contents. Read more

fn read_until2(&mut self, delims: (u8, u8), buf: &mut Vec<u8>) -> Result<()>

Read all bytes into a buffer until two consecutive delimiters are reached. Read more

fn skip_until2(&mut self, delims: (u8, u8)) -> Result<()>

Skip all bytes until two consecutive delimiters are reached. Read more

fn fill_buf_str(&mut self) -> Result<&str>

Fills the internal buffer of this object, returning the buffer content as a string Read more

fn grow_buf_str(&mut self) -> Result<&str>

Grows the internal buffer of this object by at least one char, returning the buffer content as a string Read more

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

Read all bytes until EOF in this source, placing them into a string. Read more

fn read_line(&mut self, buf: &mut String) -> Result<()>

Read all bytes until a CRLF is reached, and append them to the provided buffer. Read more

fn chars(self) -> Chars<Self> where Self: Sized

Transforms this reader to an Iterator over chars. Read more

impl<T: Write> Write for Take<T>
[src]

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

Write a buffer into this object, returning how many bytes were written. Read more

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

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

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

Attempts to write an entire buffer into this write. Read more

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

Writes a formatted string into this writer, returning any error encountered. Read more

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

Creates a "by reference" adaptor for this instance of Write. Read more