Struct jack::RingBufferReader
source · [−]pub struct RingBufferReader { /* private fields */ }
Expand description
Read end of the ring buffer. Can only be used from one thread (can be different from the write thread).
Implementations
sourceimpl RingBufferReader
impl RingBufferReader
sourcepub fn get_vector(&self) -> (&[u8], &[u8])
pub fn get_vector(&self) -> (&[u8], &[u8])
Fill a data structure with a description of the current readable data held in the ringbuffer. This description is returned in a two slices. Two slices are needed because the data to be read may be split across the end of the ringbuffer. The first slice represents the bytes ready to be read. If the second slice is not empty, it is the continuation of the data that ended in the first slices. For convenience, consider using peek_iter instead.
sourcepub fn read_buffer(&mut self, buf: &mut [u8]) -> usize
pub fn read_buffer(&mut self, buf: &mut [u8]) -> usize
Read data from the ringbuffer. Returns: the number of bytes read, which may range from 0 to buf.len().
sourcepub fn peek(&self, buf: &mut [u8]) -> usize
pub fn peek(&self, buf: &mut [u8]) -> usize
Read data from the ringbuffer. Opposed to read_buffer() this function does not move the read pointer. Thus it’s a convenient way to inspect data in the ringbuffer in a continuous fashion. The price is that the data is copied into a user provided buffer. For “raw” non-copy inspection of the data in the ringbuffer use get_vector() or peek_iter. Returns: the number of bytes read, which may range from 0 to buf.len()
Trait Implementations
sourceimpl Drop for RingBufferReader
impl Drop for RingBufferReader
sourceimpl Read for RingBufferReader
impl Read for RingBufferReader
sourcefn read(&mut self, buf: &mut [u8]) -> Result<usize>
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
1.36.0 · sourcefn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like read
, except that it reads into a slice of buffers. Read more
sourcefn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector
)Determines if this Read
er has an efficient read_vectored
implementation. Read more
1.0.0 · sourcefn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into buf
. Read more
1.0.0 · sourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to buf
. Read more
1.6.0 · sourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill buf
. Read more
sourcefn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Pull some bytes from this source into the specified buffer. Read more
sourcefn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Read the exact number of bytes required to fill buf
. Read more
1.0.0 · sourcefn by_ref(&mut self) -> &mut Self
fn by_ref(&mut self) -> &mut Self
Creates a “by reference” adaptor for this instance of Read
. Read more
impl Send for RingBufferReader
impl Sync for RingBufferReader
Auto Trait Implementations
impl RefUnwindSafe for RingBufferReader
impl Unpin for RingBufferReader
impl UnwindSafe for RingBufferReader
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more