pub struct BytePages { /* private fields */ }Implementations§
Source§impl BytePages
impl BytePages
Sourcepub fn new(size: BytePageSize) -> Self
pub fn new(size: BytePageSize) -> Self
Creates a new BytePages with the specified page size.
The returned BytePages will be hold one page with
specified capacity.
pub fn page_size(&self) -> BytePageSize
pub fn set_page_size(&mut self, size: BytePageSize)
pub fn prepend<T>(&mut self, buf: T) -> bool
pub fn append<T>(&mut self, buf: T)
Sourcepub fn extend_from_slice(&mut self, extend: &[u8])
pub fn extend_from_slice(&mut self, extend: &[u8])
Appends the given bytes to this page object.
Tries to write the data into the current page first. If there is insufficient space, one or more new pages are allocated as needed, and the remaining data is copied into them.
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn take(&mut self) -> Option<BytePage>
pub fn move_to(&mut self, pages: &mut BytePages)
Trait Implementations§
Source§impl BufMut for BytePages
impl BufMut for BytePages
Source§fn remaining_mut(&self) -> usize
fn remaining_mut(&self) -> usize
Returns the number of bytes that can be written from the current
position until the end of the buffer is reached. Read more
Source§unsafe fn advance_mut(&mut self, cnt: usize)
unsafe fn advance_mut(&mut self, cnt: usize)
Advance the internal cursor of the
BufMut Read moreSource§fn chunk_mut(&mut self) -> &mut UninitSlice
fn chunk_mut(&mut self) -> &mut UninitSlice
Returns a mutable slice starting at the current
BufMut position and of
length between 0 and BufMut::remaining_mut(). Note that this can be shorter than the
whole remainder of the buffer (this allows non-continuous implementation). Read moreSource§fn has_remaining_mut(&self) -> bool
fn has_remaining_mut(&self) -> bool
Returns true if there is space in
self for more bytes. Read moreSource§fn put_u16(&mut self, n: u16)
fn put_u16(&mut self, n: u16)
Writes an unsigned 16 bit integer to
self in big-endian byte order. Read moreSource§fn put_u16_le(&mut self, n: u16)
fn put_u16_le(&mut self, n: u16)
Writes an unsigned 16 bit integer to
self in little-endian byte order. Read moreSource§fn put_i16(&mut self, n: i16)
fn put_i16(&mut self, n: i16)
Writes a signed 16 bit integer to
self in big-endian byte order. Read moreSource§fn put_i16_le(&mut self, n: i16)
fn put_i16_le(&mut self, n: i16)
Writes a signed 16 bit integer to
self in little-endian byte order. Read moreSource§fn put_u32(&mut self, n: u32)
fn put_u32(&mut self, n: u32)
Writes an unsigned 32 bit integer to
self in big-endian byte order. Read moreSource§fn put_u32_le(&mut self, n: u32)
fn put_u32_le(&mut self, n: u32)
Writes an unsigned 32 bit integer to
self in little-endian byte order. Read moreSource§fn put_i32(&mut self, n: i32)
fn put_i32(&mut self, n: i32)
Writes a signed 32 bit integer to
self in big-endian byte order. Read moreSource§fn put_i32_le(&mut self, n: i32)
fn put_i32_le(&mut self, n: i32)
Writes a signed 32 bit integer to
self in little-endian byte order. Read moreSource§fn put_u64(&mut self, n: u64)
fn put_u64(&mut self, n: u64)
Writes an unsigned 64 bit integer to
self in the big-endian byte order. Read moreSource§fn put_u64_le(&mut self, n: u64)
fn put_u64_le(&mut self, n: u64)
Writes an unsigned 64 bit integer to
self in little-endian byte order. Read moreSource§fn put_i64(&mut self, n: i64)
fn put_i64(&mut self, n: i64)
Writes a signed 64 bit integer to
self in the big-endian byte order. Read moreSource§fn put_i64_le(&mut self, n: i64)
fn put_i64_le(&mut self, n: i64)
Writes a signed 64 bit integer to
self in little-endian byte order. Read moreSource§fn put_u128(&mut self, n: u128)
fn put_u128(&mut self, n: u128)
Writes an unsigned 128 bit integer to
self in the big-endian byte order. Read moreSource§fn put_u128_le(&mut self, n: u128)
fn put_u128_le(&mut self, n: u128)
Writes an unsigned 128 bit integer to
self in little-endian byte order. Read moreSource§fn put_i128(&mut self, n: i128)
fn put_i128(&mut self, n: i128)
Writes a signed 128 bit integer to
self in the big-endian byte order. Read moreSource§fn put_i128_le(&mut self, n: i128)
fn put_i128_le(&mut self, n: i128)
Writes a signed 128 bit integer to
self in little-endian byte order. Read moreSource§fn put_uint(&mut self, n: u64, nbytes: usize)
fn put_uint(&mut self, n: u64, nbytes: usize)
Writes an unsigned n-byte integer to
self in big-endian byte order. Read moreSource§fn put_uint_le(&mut self, n: u64, nbytes: usize)
fn put_uint_le(&mut self, n: u64, nbytes: usize)
Writes an unsigned n-byte integer to
self in the little-endian byte order. Read moreSource§fn put_int(&mut self, n: i64, nbytes: usize)
fn put_int(&mut self, n: i64, nbytes: usize)
Writes a signed n-byte integer to
self in big-endian byte order. Read moreSource§fn put_int_le(&mut self, n: i64, nbytes: usize)
fn put_int_le(&mut self, n: i64, nbytes: usize)
Writes a signed n-byte integer to
self in little-endian byte order. Read moreSource§fn put_f32(&mut self, n: f32)
fn put_f32(&mut self, n: f32)
Writes an IEEE754 single-precision (4 bytes) floating point number to
self in big-endian byte order. Read moreSource§fn put_f32_le(&mut self, n: f32)
fn put_f32_le(&mut self, n: f32)
Writes an IEEE754 single-precision (4 bytes) floating point number to
self in little-endian byte order. Read moreSource§fn put_f64(&mut self, n: f64)
fn put_f64(&mut self, n: f64)
Writes an IEEE754 double-precision (8 bytes) floating point number to
self in big-endian byte order. Read moreSource§fn put_f64_le(&mut self, n: f64)
fn put_f64_le(&mut self, n: f64)
Writes an IEEE754 double-precision (8 bytes) floating point number to
self in little-endian byte order. Read moreSource§impl Write for BytePages
impl Write for BytePages
Source§fn write(&mut self, src: &[u8]) -> Result<usize, Error>
fn write(&mut self, src: &[u8]) -> Result<usize, Error>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for BytePages
impl RefUnwindSafe for BytePages
impl Send for BytePages
impl Sync for BytePages
impl Unpin for BytePages
impl UnsafeUnpin for BytePages
impl UnwindSafe for BytePages
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more