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.
Sourcepub fn page_size(&self) -> BytePageSize
pub fn page_size(&self) -> BytePageSize
Get size of the page.
Sourcepub fn set_page_size(&mut self, size: BytePageSize)
pub fn set_page_size(&mut self, size: BytePageSize)
Sets the page size for new pages.
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.
Sourcepub fn copy_to(&self, pages: &mut BytePages)
pub fn copy_to(&self, pages: &mut BytePages)
Copies all pages into another BytePages instance.
Depending on the underlying storage, this operation might be O(1) or could
involve a memory copy.
Sourcepub fn move_to(&mut self, pages: &mut BytePages)
pub fn move_to(&mut self, pages: &mut BytePages)
Moves all pages to another BytePages instance.
Sourcepub fn split_to(&mut self, at: usize) -> BytePages ⓘ
pub fn split_to(&mut self, at: usize) -> BytePages ⓘ
Splits the buffer into two at the given index.
Afterwards, self contains elements [at, len), and the returned BytePage
contains elements [0, at).
Depending on the underlying storage, this operation might be O(1) or could
involve a memory copy.
Sourcepub fn split_into(&mut self, at: usize, to: &mut BytePages)
pub fn split_into(&mut self, at: usize, to: &mut BytePages)
Splits the buffer, adding the resulting items to the supplied pages object.
Afterwards, self contains elements [at, len), and the supplied BytePage
contains elements [0, at).
Depending on the underlying storage, this operation might be O(1) or could
involve a memory copy.
pub fn try_get_current_from(&mut self, pages: &mut BytePages)
Sourcepub fn with_bytes_mut<F, R>(&mut self, f: F) -> R
pub fn with_bytes_mut<F, R>(&mut self, f: F) -> R
Access current page as BytesMut object
Trait Implementations§
Source§impl BufMut for BytePages
impl BufMut for BytePages
Source§fn remaining_mut(&self) -> usize
fn remaining_mut(&self) -> usize
Source§unsafe fn advance_mut(&mut self, cnt: usize)
unsafe fn advance_mut(&mut self, cnt: usize)
BufMut Read moreSource§fn chunk_mut(&mut self) -> &mut UninitSlice
fn chunk_mut(&mut self) -> &mut UninitSlice
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
self for more bytes. Read moreSource§fn put_u16(&mut self, n: u16)
fn put_u16(&mut self, n: u16)
self in big-endian byte order. Read moreSource§fn put_u16_le(&mut self, n: u16)
fn put_u16_le(&mut self, n: u16)
self in little-endian byte order. Read moreSource§fn put_i16(&mut self, n: i16)
fn put_i16(&mut self, n: i16)
self in big-endian byte order. Read moreSource§fn put_i16_le(&mut self, n: i16)
fn put_i16_le(&mut self, n: i16)
self in little-endian byte order. Read moreSource§fn put_u32(&mut self, n: u32)
fn put_u32(&mut self, n: u32)
self in big-endian byte order. Read moreSource§fn put_u32_le(&mut self, n: u32)
fn put_u32_le(&mut self, n: u32)
self in little-endian byte order. Read moreSource§fn put_i32(&mut self, n: i32)
fn put_i32(&mut self, n: i32)
self in big-endian byte order. Read moreSource§fn put_i32_le(&mut self, n: i32)
fn put_i32_le(&mut self, n: i32)
self in little-endian byte order. Read moreSource§fn put_u64(&mut self, n: u64)
fn put_u64(&mut self, n: u64)
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)
self in little-endian byte order. Read moreSource§fn put_i64(&mut self, n: i64)
fn put_i64(&mut self, n: i64)
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)
self in little-endian byte order. Read moreSource§fn put_u128(&mut self, n: u128)
fn put_u128(&mut self, n: u128)
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)
self in little-endian byte order. Read moreSource§fn put_i128(&mut self, n: i128)
fn put_i128(&mut self, n: i128)
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)
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)
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)
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)
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)
self in little-endian byte order. Read moreSource§fn put_f32(&mut self, n: f32)
fn put_f32(&mut self, n: f32)
self in big-endian byte order. Read moreSource§fn put_f32_le(&mut self, n: f32)
fn put_f32_le(&mut self, n: f32)
self in little-endian byte order. Read moreSource§fn put_f64(&mut self, n: f64)
fn put_f64(&mut self, n: f64)
self in big-endian byte order. Read moreSource§fn put_f64_le(&mut self, n: f64)
fn put_f64_le(&mut self, n: f64)
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>
Source§fn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored)