Struct Take

Source
pub struct Take<T> { /* private fields */ }
Expand description

The take adapter.

See: Buf::take.

Implementations§

Source§

impl<T> Take<T>

Source

pub fn left(&self) -> usize

Get the number of bytes logically left in the buffer.

This method is not the same as Buf::remaining(). It returns the maximum number of bytes the underlying buffer is allowed to have left. The returned value might be greater than the actual amount of bytes the underlying buffer has left.

Source

pub fn set_left(&mut self, left: usize)

Set the maximum amount of bytes the underlying buffer is allowed to have.

Source

pub fn get(&self) -> &T

Get a reference to the underlying buffer.

Source

pub fn get_mut(&mut self) -> &mut T

Get a mutable reference to the underlying buffer.

Source

pub fn into_inner(self) -> T

Destruct the adapter and get back the underlying buffer.

Trait Implementations§

Source§

impl<T: Buf> Buf for Take<T>

Source§

fn remaining(&self) -> usize

Get the number of bytes remaining in the buffer.
Source§

fn chunk(&self) -> &[u8]

Get the remaining bytes of the buffer as a slice. Read more
Source§

fn advance(&mut self, n: usize)

Advance the internal cursor of the buffer by n bytes. Read more
Source§

fn has_remaining(&self) -> bool

Check whether the buffer has any data left in it.
Source§

fn copy_to_slice(&mut self, slice: &mut [u8]) -> usize

Copy data from the buffer into slice advancing the buffer accordingly.
Source§

fn copy_to_vec(self, vec: &mut Vec<u8>)
where Self: Sized,

Available on crate feature alloc only.
Copy the buffer into vec.
Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Create a “by reference” adapter that takes the current instance of Buf by mutable reference.
Source§

fn reader(self) -> Reader<Self>
where Self: Sized,

Create an adapter that implements the Read and AsyncRead traits on the current instance of Buf.
Source§

fn chain<T: Buf>(self, other: T) -> Chain<Self, T>
where Self: Sized,

Create a Chain adapter that chains this buffer with other. Read more
Source§

fn take(self, n: usize) -> Take<Self>
where Self: Sized,

Create a Take adapter that takes n bytes from this buffer. Read more
Source§

impl<T: Clone> Clone for Take<T>

Source§

fn clone(&self) -> Take<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for Take<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Copy> Copy for Take<T>

Auto Trait Implementations§

§

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> UnwindSafe for Take<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.