Struct bytes::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

[]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. 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]