Struct bytes::buf::RingBuf [] [src]

pub struct RingBuf { /* 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.

This type is suited for use cases where reads and writes are intermixed.

Methods

impl RingBuf
[src]

Allocates a new RingBuf with the specified capacity.

Returns true if the buf cannot accept any further writes.

Returns true if the buf cannot accept any further reads.

Returns the number of bytes that the buf can hold.

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.

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,

Resets all internal state to the initial state.

Trait Implementations

impl Clone for RingBuf
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for RingBuf
[src]

Formats the value using the given formatter.

impl Buf for RingBuf
[src]

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

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

Advance the internal cursor of the Buf

Returns true if there are any more bytes to consume

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

Read a single byte from the Buf

impl MutBuf for RingBuf
[src]

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

Advance the internal cursor of the MutBuf

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

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

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

Write a single byte to the MuBuf

impl Read for RingBuf
[src]

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

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

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

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

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

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

🔬 This is a nightly-only experimental API. (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

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

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

impl Write for RingBuf
[src]

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

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

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

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

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

impl Send for RingBuf
[src]