pub struct Take<T> { /* private fields */ }展开描述
一个限制从底层缓冲区读取字节数的 Buf 适配器。
此结构体通常通过对 Buf 调用 take() 创建。详情请参阅 take() 的文档。
实现§
Source§impl<T> Take<T>
impl<T> Take<T>
Sourcepub fn into_inner(self) -> T
pub fn into_inner(self) -> T
消耗此 Take,返回底层的值。
§示例
use bytes::{Buf, BufMut};
let mut buf = b"hello world".take(2);
let mut dst = vec![];
dst.put(&mut buf);
assert_eq!(*dst, b"he"[..]);
let mut buf = buf.into_inner();
dst.clear();
dst.put(&mut buf);
assert_eq!(*dst, b"llo world"[..]);Sourcepub fn get_ref(&self) -> &T
pub fn get_ref(&self) -> &T
获取对底层 Buf 的引用。
不建议直接从底层 Buf 读取。
§示例
use bytes::Buf;
let buf = b"hello world".take(2);
assert_eq!(11, buf.get_ref().remaining());Sourcepub fn get_mut(&mut self) -> &mut T
pub fn get_mut(&mut self) -> &mut T
获取对底层 Buf 的可变引用。
不建议直接从底层 Buf 读取。
§示例
use bytes::{Buf, BufMut};
let mut buf = b"hello world".take(2);
let mut dst = vec![];
buf.get_mut().advance(2);
dst.put(&mut buf);
assert_eq!(*dst, b"ll"[..]);Trait 实现§
Source§impl<T: Buf> Buf for Take<T>
impl<T: Buf> Buf for Take<T>
Source§fn remaining(&self) -> usize
fn remaining(&self) -> usize
Returns the number of bytes between the current position and the end of
the buffer. 更多信息
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 a shorter slice (this
allows non-continuous internal representation). 更多信息Source§fn copy_to_bytes(&mut self, len: usize) -> Bytes
fn copy_to_bytes(&mut self, len: usize) -> Bytes
Source§fn chunks_vectored<'a>(&'a self, dst: &mut [IoSlice<'a>]) -> usize
fn chunks_vectored<'a>(&'a self, dst: &mut [IoSlice<'a>]) -> usize
Source§fn has_remaining(&self) -> bool
fn has_remaining(&self) -> bool
Returns true if there are any more bytes to consume 更多信息
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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§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. 更多信息Source§fn try_copy_to_slice(&mut self, dst: &mut [u8]) -> Result<(), TryGetError>
fn try_copy_to_slice(&mut self, dst: &mut [u8]) -> Result<(), TryGetError>
Source§fn try_get_u8(&mut self) -> Result<u8, TryGetError>
fn try_get_u8(&mut self) -> Result<u8, TryGetError>
Gets an unsigned 8 bit integer from
self. 更多信息Source§fn try_get_i8(&mut self) -> Result<i8, TryGetError>
fn try_get_i8(&mut self) -> Result<i8, TryGetError>
Gets a signed 8 bit integer from
self. 更多信息Source§fn try_get_u16(&mut self) -> Result<u16, TryGetError>
fn try_get_u16(&mut self) -> Result<u16, TryGetError>
Gets an unsigned 16 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_u16_le(&mut self) -> Result<u16, TryGetError>
fn try_get_u16_le(&mut self) -> Result<u16, TryGetError>
Gets an unsigned 16 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_u16_ne(&mut self) -> Result<u16, TryGetError>
fn try_get_u16_ne(&mut self) -> Result<u16, TryGetError>
Gets an unsigned 16 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_i16(&mut self) -> Result<i16, TryGetError>
fn try_get_i16(&mut self) -> Result<i16, TryGetError>
Gets a signed 16 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_i16_le(&mut self) -> Result<i16, TryGetError>
fn try_get_i16_le(&mut self) -> Result<i16, TryGetError>
Gets an signed 16 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_i16_ne(&mut self) -> Result<i16, TryGetError>
fn try_get_i16_ne(&mut self) -> Result<i16, TryGetError>
Gets a signed 16 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_u32(&mut self) -> Result<u32, TryGetError>
fn try_get_u32(&mut self) -> Result<u32, TryGetError>
Gets an unsigned 32 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_u32_le(&mut self) -> Result<u32, TryGetError>
fn try_get_u32_le(&mut self) -> Result<u32, TryGetError>
Gets an unsigned 32 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_u32_ne(&mut self) -> Result<u32, TryGetError>
fn try_get_u32_ne(&mut self) -> Result<u32, TryGetError>
Gets an unsigned 32 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_i32(&mut self) -> Result<i32, TryGetError>
fn try_get_i32(&mut self) -> Result<i32, TryGetError>
Gets a signed 32 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_i32_le(&mut self) -> Result<i32, TryGetError>
fn try_get_i32_le(&mut self) -> Result<i32, TryGetError>
Gets a signed 32 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_i32_ne(&mut self) -> Result<i32, TryGetError>
fn try_get_i32_ne(&mut self) -> Result<i32, TryGetError>
Gets a signed 32 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_u64(&mut self) -> Result<u64, TryGetError>
fn try_get_u64(&mut self) -> Result<u64, TryGetError>
Gets an unsigned 64 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_u64_le(&mut self) -> Result<u64, TryGetError>
fn try_get_u64_le(&mut self) -> Result<u64, TryGetError>
Gets an unsigned 64 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_u64_ne(&mut self) -> Result<u64, TryGetError>
fn try_get_u64_ne(&mut self) -> Result<u64, TryGetError>
Gets an unsigned 64 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_i64(&mut self) -> Result<i64, TryGetError>
fn try_get_i64(&mut self) -> Result<i64, TryGetError>
Gets a signed 64 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_i64_le(&mut self) -> Result<i64, TryGetError>
fn try_get_i64_le(&mut self) -> Result<i64, TryGetError>
Gets a signed 64 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_i64_ne(&mut self) -> Result<i64, TryGetError>
fn try_get_i64_ne(&mut self) -> Result<i64, TryGetError>
Gets a signed 64 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_u128(&mut self) -> Result<u128, TryGetError>
fn try_get_u128(&mut self) -> Result<u128, TryGetError>
Gets an unsigned 128 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_u128_le(&mut self) -> Result<u128, TryGetError>
fn try_get_u128_le(&mut self) -> Result<u128, TryGetError>
Gets an unsigned 128 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_u128_ne(&mut self) -> Result<u128, TryGetError>
fn try_get_u128_ne(&mut self) -> Result<u128, TryGetError>
Gets an unsigned 128 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_i128(&mut self) -> Result<i128, TryGetError>
fn try_get_i128(&mut self) -> Result<i128, TryGetError>
Gets a signed 128 bit integer from
self in big-endian byte order. 更多信息Source§fn try_get_i128_le(&mut self) -> Result<i128, TryGetError>
fn try_get_i128_le(&mut self) -> Result<i128, TryGetError>
Gets a signed 128 bit integer from
self in little-endian byte order. 更多信息Source§fn try_get_i128_ne(&mut self) -> Result<i128, TryGetError>
fn try_get_i128_ne(&mut self) -> Result<i128, TryGetError>
Gets a signed 128 bit integer from
self in native-endian byte order. 更多信息Source§fn try_get_uint(&mut self, nbytes: usize) -> Result<u64, TryGetError>
fn try_get_uint(&mut self, nbytes: usize) -> Result<u64, TryGetError>
Gets an unsigned n-byte integer from
self in big-endian byte order. 更多信息Source§fn try_get_uint_le(&mut self, nbytes: usize) -> Result<u64, TryGetError>
fn try_get_uint_le(&mut self, nbytes: usize) -> Result<u64, TryGetError>
Gets an unsigned n-byte integer from
self in little-endian byte order. 更多信息Source§fn try_get_uint_ne(&mut self, nbytes: usize) -> Result<u64, TryGetError>
fn try_get_uint_ne(&mut self, nbytes: usize) -> Result<u64, TryGetError>
Gets an unsigned n-byte integer from
self in native-endian byte order. 更多信息Source§fn try_get_int(&mut self, nbytes: usize) -> Result<i64, TryGetError>
fn try_get_int(&mut self, nbytes: usize) -> Result<i64, TryGetError>
Gets a signed n-byte integer from
self in big-endian byte order. 更多信息Source§fn try_get_int_le(&mut self, nbytes: usize) -> Result<i64, TryGetError>
fn try_get_int_le(&mut self, nbytes: usize) -> Result<i64, TryGetError>
Gets a signed n-byte integer from
self in little-endian byte order. 更多信息Source§fn try_get_int_ne(&mut self, nbytes: usize) -> Result<i64, TryGetError>
fn try_get_int_ne(&mut self, nbytes: usize) -> Result<i64, TryGetError>
Gets a signed n-byte integer from
self in native-endian byte order. 更多信息Source§fn try_get_f32(&mut self) -> Result<f32, TryGetError>
fn try_get_f32(&mut self) -> Result<f32, TryGetError>
Gets an IEEE754 single-precision (4 bytes) floating point number from
self in big-endian byte order. 更多信息Source§fn try_get_f32_le(&mut self) -> Result<f32, TryGetError>
fn try_get_f32_le(&mut self) -> Result<f32, TryGetError>
Gets an IEEE754 single-precision (4 bytes) floating point number from
self in little-endian byte order. 更多信息Source§fn try_get_f32_ne(&mut self) -> Result<f32, TryGetError>
fn try_get_f32_ne(&mut self) -> Result<f32, TryGetError>
Gets an IEEE754 single-precision (4 bytes) floating point number from
self in native-endian byte order. 更多信息Source§fn try_get_f64(&mut self) -> Result<f64, TryGetError>
fn try_get_f64(&mut self) -> Result<f64, TryGetError>
Gets an IEEE754 double-precision (8 bytes) floating point number from
self in big-endian byte order. 更多信息Source§fn try_get_f64_le(&mut self) -> Result<f64, TryGetError>
fn try_get_f64_le(&mut self) -> Result<f64, TryGetError>
Gets an IEEE754 double-precision (8 bytes) floating point number from
self in little-endian byte order. 更多信息Source§fn try_get_f64_ne(&mut self) -> Result<f64, TryGetError>
fn try_get_f64_ne(&mut self) -> Result<f64, TryGetError>
Gets an IEEE754 double-precision (8 bytes) floating point number from
self in native-endian byte order. 更多信息自动 Trait 实现§
impl<T> Freeze for Take<T>where
T: Freeze,
impl<T> RefUnwindSafe for Take<T>where
T: RefUnwindSafe,
impl<T> Send for Take<T>where
T: Send,
impl<T> Sync for Take<T>where
T: Sync,
impl<T> Unpin for Take<T>where
T: Unpin,
impl<T> UnsafeUnpin for Take<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Take<T>where
T: UnwindSafe,
Blanket 实现§
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. 更多信息