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]
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<usize, Error>
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<usize, Error>
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>
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 char
s. 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