Struct Parts
#[non_exhaustive]pub struct Parts<T> {
pub io: T,
pub read_buf: Bytes,
pub read_err: Option<Error>,
pub extensions: Extensions,
/* private fields */
}http and std only.Expand description
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 (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.io: TThe original IO object used before the upgrade.
read_buf: BytesA 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.
read_err: Option<Error>A read error the upgraded stream already hit on io.
It follows read_buf and comes before any further
read of io, which may not report it again (some
sockets report a reset only once).
extensions: ExtensionsExtensions associated with this upgrade
Trait Implementations§
Auto Trait Implementations§
impl<T> !Freeze for Parts<T>
impl<T> !RefUnwindSafe for Parts<T>
impl<T> !Sync for Parts<T>
impl<T> !UnwindSafe for Parts<T>
impl<T> Send for Parts<T>where
T: Send,
impl<T> Unpin for Parts<T>where
T: Unpin,
impl<T> UnsafeUnpin for Parts<T>where
T: UnsafeUnpin,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more