Struct bytes::buf::ByteBuf [] [src]

pub struct ByteBuf {
    // some fields omitted
}

A Buf backed by a contiguous region of memory.

This Buf is better suited for cases where there is a clear delineation between reading and writing.

Methods

impl ByteBuf

fn from_slice(bytes: &[u8]) -> ByteBuf

Create a new ByteBuf by copying the contents of the given slice.

fn mut_with_capacity(capacity: usize) -> MutByteBuf

fn none() -> ByteBuf

unsafe fn from_mem_ref(mem: MemRef, cap: u32, pos: u32, lim: u32) -> ByteBuf

fn capacity(&self) -> usize

fn flip(self) -> MutByteBuf

fn resume(self) -> MutByteBuf

Flips the buffer back to mutable, resetting the write position to the byte after the previous write.

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

fn to_seq_byte_str(self) -> SeqByteStr

fn to_bytes(self) -> Bytes

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 marked location will be cleared when the buffer is flipped.

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 Buf for ByteBuf

fn remaining(&self) -> usize

fn bytes<'a>(&'a self) -> &'a [u8]

fn advance(&mut self, cnt: usize)

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

fn has_remaining(&self) -> bool

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

impl Debug for ByteBuf

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

impl Read for ByteBuf

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

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

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

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

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

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

fn chars(self) -> Chars<Self>

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

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