Struct bytes::RingBuf [] [src]

pub struct RingBuf {
    // some fields omitted
}

Buf backed by a continous chunk of memory. Maintains a read cursor and a write cursor. When reads and writes reach the end of the allocated buffer, wraps around to the start.

Methods

impl RingBuf
[src]

fn new(capacity: usize) -> RingBuf

fn is_full(&self) -> bool

fn is_empty(&self) -> bool

fn capacity(&self) -> usize

fn mark(&mut self)

Marks the current read location.

Together with reset, this can be used to read from a section of the buffer multiple times. The mark will be cleared if it is overwritten during a write.

fn reset(&mut self)

Resets the read position to the previously marked position.

Together with mark, this can be used to read from a section of the buffer multiple times.

Panics

This method will panic if no mark has been set,

Trait Implementations

impl Clone for RingBuf
[src]

fn clone(&self) -> RingBuf

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl Debug for RingBuf
[src]

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

Formats the value using the given formatter.

impl Buf for RingBuf
[src]

fn remaining(&self) -> usize

Returns the number of bytes that can be accessed from the Buf

fn bytes(&self) -> &[u8]

Returns a slice starting at the current Buf position and of length between 0 and Buf::remaining(). Read more

fn advance(&mut self, cnt: usize)

Advance the internal cursor of the Buf

fn has_remaining(&self) -> bool

Returns true if there are any more bytes to consume

fn read_slice(&mut self, dst: &mut [u8]) -> usize

Read bytes from the Buf into the given slice and advance the cursor by the number of bytes read. Returns the number of bytes read. Read more

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

Read a single byte from the Buf

impl MutBuf for RingBuf
[src]

fn remaining(&self) -> usize

Returns the number of bytes that can be written to the MutBuf

fn advance(&mut self, cnt: usize)

Advance the internal cursor of the MutBuf

fn mut_bytes(&mut self) -> &mut [u8]

Returns a mutable slice starting at the current MutBuf position and of length between 0 and MutBuf::remaining(). Read more

fn has_remaining(&self) -> bool

Returns true iff there is any more space for bytes to be written

fn write_slice(&mut self, src: &[u8]) -> usize

Write bytes from the given slice into the MutBuf and advance the cursor by the number of bytes written. Returns the number of bytes written. Read more

fn write_byte(&mut self, byte: u8) -> bool

Write a single byte to the MuBuf

impl Read for RingBuf
[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 Write for RingBuf
[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

impl Send for RingBuf
[src]