pub struct BufList { /* private fields */ }Expand description
Data composed of a list of Bytes chunks.
For more, see the crate documentation.
Implementations§
source§impl BufList
impl BufList
sourcepub fn num_chunks(&self) -> usize
pub fn num_chunks(&self) -> usize
Returns the total number of chunks in this BufList.
Examples
use buf_list::BufList;
let buf_list = vec![&b"hello"[..], &b"world"[..]].into_iter().collect::<BufList>();
assert_eq!(buf_list.num_chunks(), 2);sourcepub fn num_bytes(&self) -> usize
pub fn num_bytes(&self) -> usize
Returns the total number of bytes across all chunks.
Examples
use buf_list::BufList;
let buf_list = vec![&b"hello"[..], &b"world"[..]].into_iter().collect::<BufList>();
assert_eq!(buf_list.num_bytes(), 10);sourcepub fn push_chunk(&mut self, data: impl Buf) -> Bytes
pub fn push_chunk(&mut self, data: impl Buf) -> Bytes
Adds a new chunk to this list.
If the provided Buf is zero-length, it will not be added to the list.
Examples
use buf_list::BufList;
use bytes::{Buf, Bytes};
let mut buf_list = BufList::new();
// &'static [u8] implements Buf.
buf_list.push_chunk(&b"hello"[..]);
assert_eq!(buf_list.chunk(), &b"hello"[..]);
// Bytes also implements Buf.
buf_list.push_chunk(Bytes::from_static(&b"world"[..]));
assert_eq!(buf_list.num_chunks(), 2);
// A zero-length `Buf` will not be added to the list.
buf_list.push_chunk(Bytes::new());
assert_eq!(buf_list.num_chunks(), 2);Trait Implementations§
source§impl Buf for BufList
impl Buf for BufList
source§fn remaining(&self) -> usize
fn remaining(&self) -> usize
Returns the number of bytes between the current position and the end of
the buffer. Read more
source§fn chunk(&self) -> &[u8] ⓘ
fn chunk(&self) -> &[u8] ⓘ
Returns a slice starting at the current position and of length between 0
and
Buf::remaining(). Note that this can return shorter slice (this allows
non-continuous internal representation). Read moresource§fn chunks_vectored<'iovs>(&'iovs self, iovs: &mut [IoSlice<'iovs>]) -> usize
fn chunks_vectored<'iovs>(&'iovs self, iovs: &mut [IoSlice<'iovs>]) -> usize
source§fn copy_to_bytes(&mut self, len: usize) -> Bytes
fn copy_to_bytes(&mut self, len: usize) -> Bytes
source§fn has_remaining(&self) -> bool
fn has_remaining(&self) -> bool
Returns true if there are any more bytes to consume Read more
source§fn copy_to_slice(&mut self, dst: &mut [u8])
fn copy_to_slice(&mut self, dst: &mut [u8])
source§fn get_u16(&mut self) -> u16
fn get_u16(&mut self) -> u16
Gets an unsigned 16 bit integer from
self in big-endian byte order. Read moresource§fn get_u16_le(&mut self) -> u16
fn get_u16_le(&mut self) -> u16
Gets an unsigned 16 bit integer from
self in little-endian byte order. Read moresource§fn get_u16_ne(&mut self) -> u16
fn get_u16_ne(&mut self) -> u16
Gets an unsigned 16 bit integer from
self in native-endian byte order. Read moresource§fn get_i16(&mut self) -> i16
fn get_i16(&mut self) -> i16
Gets a signed 16 bit integer from
self in big-endian byte order. Read moresource§fn get_i16_le(&mut self) -> i16
fn get_i16_le(&mut self) -> i16
Gets a signed 16 bit integer from
self in little-endian byte order. Read moresource§fn get_i16_ne(&mut self) -> i16
fn get_i16_ne(&mut self) -> i16
Gets a signed 16 bit integer from
self in native-endian byte order. Read moresource§fn get_u32(&mut self) -> u32
fn get_u32(&mut self) -> u32
Gets an unsigned 32 bit integer from
self in the big-endian byte order. Read moresource§fn get_u32_le(&mut self) -> u32
fn get_u32_le(&mut self) -> u32
Gets an unsigned 32 bit integer from
self in the little-endian byte order. Read moresource§fn get_u32_ne(&mut self) -> u32
fn get_u32_ne(&mut self) -> u32
Gets an unsigned 32 bit integer from
self in native-endian byte order. Read moresource§fn get_i32(&mut self) -> i32
fn get_i32(&mut self) -> i32
Gets a signed 32 bit integer from
self in big-endian byte order. Read moresource§fn get_i32_le(&mut self) -> i32
fn get_i32_le(&mut self) -> i32
Gets a signed 32 bit integer from
self in little-endian byte order. Read moresource§fn get_i32_ne(&mut self) -> i32
fn get_i32_ne(&mut self) -> i32
Gets a signed 32 bit integer from
self in native-endian byte order. Read moresource§fn get_u64(&mut self) -> u64
fn get_u64(&mut self) -> u64
Gets an unsigned 64 bit integer from
self in big-endian byte order. Read moresource§fn get_u64_le(&mut self) -> u64
fn get_u64_le(&mut self) -> u64
Gets an unsigned 64 bit integer from
self in little-endian byte order. Read moresource§fn get_u64_ne(&mut self) -> u64
fn get_u64_ne(&mut self) -> u64
Gets an unsigned 64 bit integer from
self in native-endian byte order. Read moresource§fn get_i64(&mut self) -> i64
fn get_i64(&mut self) -> i64
Gets a signed 64 bit integer from
self in big-endian byte order. Read moresource§fn get_i64_le(&mut self) -> i64
fn get_i64_le(&mut self) -> i64
Gets a signed 64 bit integer from
self in little-endian byte order. Read moresource§fn get_i64_ne(&mut self) -> i64
fn get_i64_ne(&mut self) -> i64
Gets a signed 64 bit integer from
self in native-endian byte order. Read moresource§fn get_u128(&mut self) -> u128
fn get_u128(&mut self) -> u128
Gets an unsigned 128 bit integer from
self in big-endian byte order. Read moresource§fn get_u128_le(&mut self) -> u128
fn get_u128_le(&mut self) -> u128
Gets an unsigned 128 bit integer from
self in little-endian byte order. Read moresource§fn get_u128_ne(&mut self) -> u128
fn get_u128_ne(&mut self) -> u128
Gets an unsigned 128 bit integer from
self in native-endian byte order. Read moresource§fn get_i128(&mut self) -> i128
fn get_i128(&mut self) -> i128
Gets a signed 128 bit integer from
self in big-endian byte order. Read moresource§fn get_i128_le(&mut self) -> i128
fn get_i128_le(&mut self) -> i128
Gets a signed 128 bit integer from
self in little-endian byte order. Read moresource§fn get_i128_ne(&mut self) -> i128
fn get_i128_ne(&mut self) -> i128
Gets a signed 128 bit integer from
self in native-endian byte order. Read moresource§fn get_uint(&mut self, nbytes: usize) -> u64
fn get_uint(&mut self, nbytes: usize) -> u64
Gets an unsigned n-byte integer from
self in big-endian byte order. Read moresource§fn get_uint_le(&mut self, nbytes: usize) -> u64
fn get_uint_le(&mut self, nbytes: usize) -> u64
Gets an unsigned n-byte integer from
self in little-endian byte order. Read moresource§fn get_uint_ne(&mut self, nbytes: usize) -> u64
fn get_uint_ne(&mut self, nbytes: usize) -> u64
Gets an unsigned n-byte integer from
self in native-endian byte order. Read moresource§fn get_int(&mut self, nbytes: usize) -> i64
fn get_int(&mut self, nbytes: usize) -> i64
Gets a signed n-byte integer from
self in big-endian byte order. Read moresource§fn get_int_le(&mut self, nbytes: usize) -> i64
fn get_int_le(&mut self, nbytes: usize) -> i64
Gets a signed n-byte integer from
self in little-endian byte order. Read moresource§fn get_int_ne(&mut self, nbytes: usize) -> i64
fn get_int_ne(&mut self, nbytes: usize) -> i64
Gets a signed n-byte integer from
self in native-endian byte order. Read moresource§fn get_f32(&mut self) -> f32
fn get_f32(&mut self) -> f32
Gets an IEEE754 single-precision (4 bytes) floating point number from
self in big-endian byte order. Read moresource§fn get_f32_le(&mut self) -> f32
fn get_f32_le(&mut self) -> f32
Gets an IEEE754 single-precision (4 bytes) floating point number from
self in little-endian byte order. Read moresource§fn get_f32_ne(&mut self) -> f32
fn get_f32_ne(&mut self) -> f32
Gets an IEEE754 single-precision (4 bytes) floating point number from
self in native-endian byte order. Read moresource§fn get_f64(&mut self) -> f64
fn get_f64(&mut self) -> f64
Gets an IEEE754 double-precision (8 bytes) floating point number from
self in big-endian byte order. Read moresource§fn get_f64_le(&mut self) -> f64
fn get_f64_le(&mut self) -> f64
Gets an IEEE754 double-precision (8 bytes) floating point number from
self in little-endian byte order. Read moresource§fn get_f64_ne(&mut self) -> f64
fn get_f64_ne(&mut self) -> f64
Gets an IEEE754 double-precision (8 bytes) floating point number from
self in native-endian byte order. Read moresource§impl<B> FromIterator<B> for BufListwhere
B: Buf,
impl<B> FromIterator<B> for BufListwhere
B: Buf,
source§fn from_iter<T: IntoIterator<Item = B>>(iter: T) -> Self
fn from_iter<T: IntoIterator<Item = B>>(iter: T) -> Self
Creates a value from an iterator. Read more