Struct Parts

#[non_exhaustive]
pub struct Parts<T> { pub io: T, pub read_buf: Bytes }

The deconstructed parts of an Upgraded type.

Includes the original IO type, and a read buffer of bytes that the HTTP state machine may have already read before completing an upgrade.

Fields

io: T

The original IO object used before the upgrade.

read_buf: Bytes

A buffer of bytes that have been read but not processed as HTTP.

For instance, if the Connection is used for an HTTP upgrade request, it is possible the server sent back the first bytes of the new protocol along with the response upgrade.

You will want to check for any existing bytes if you plan to continue communicating on the IO object.

Trait Implementations

impl<T: Debug> Debug for Parts<T>

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

Auto Trait Implementations

impl<T> !Freeze for Parts<T>

impl<T> RefUnwindSafe for Parts<T> where T: RefUnwindSafe,

impl<T> Send for Parts<T> where T: Send,

impl<T> Sync for Parts<T> where T: Sync,

impl<T> Unpin for Parts<T> where T: Unpin,

impl<T> UnsafeUnpin for Parts<T> where T: UnsafeUnpin,

impl<T> UnwindSafe for Parts<T> where T: UnwindSafe,

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> From<T> for Parts<T>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Instrument for Parts<T>

impl<T> WithSubscriber for Parts<T>

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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