Struct bytes::buf::ByteBuf
[−]
[src]
pub struct ByteBuf { /* 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
[src]
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
[src]
fn remaining(&self) -> usize
Returns the number of bytes that can be accessed from the Buf
fn bytes<'a>(&'a self) -> &'a [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 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 has_remaining(&self) -> bool
Returns true if there are any more bytes to consume
fn read_byte(&mut self) -> Option<u8>
Read a single byte from the Buf
impl Debug for ByteBuf
[src]
impl Read for ByteBuf
[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>
🔬 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 char
s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0
R: Read,
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