pub enum EncapsulatedBody<GrpcBody, WebBody> {
Grpc(GrpcBody),
Web(WebBody),
}Expand description
Type to encapsulate both inner services HttpBody types
Because poll_data(cx) and poll_trailers(cx) uses pinned reference, this enum needs to project the pin.
This enum is used as the body type in EncapsulatedFuture.
Variants§
Grpc(GrpcBody)
Encapsulates the body from Grpc service
Web(WebBody)
Encapsulates the body from Web service
Trait Implementations§
Source§impl<GrpcBody, WebBody, GrpcError, WebError> Body for EncapsulatedBody<GrpcBody, WebBody>
impl<GrpcBody, WebBody, GrpcError, WebError> Body for EncapsulatedBody<GrpcBody, WebBody>
Source§fn poll_data(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Option<Result<Self::Data, Self::Error>>>
fn poll_data( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Result<Self::Data, Self::Error>>>
Attempt to pull out the next data buffer of this stream.
Source§fn poll_trailers(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
) -> Poll<Result<Option<HeaderMap>, Self::Error>>
fn poll_trailers( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<Option<HeaderMap>, Self::Error>>
Poll for an optional single
HeaderMap of trailers. Read moreSource§fn is_end_stream(&self) -> bool
fn is_end_stream(&self) -> bool
Returns
true when the end of stream has been reached. Read moreSource§fn size_hint(&self) -> SizeHint
fn size_hint(&self) -> SizeHint
Returns the bounds on the remaining length of the stream. Read more
Source§fn trailers(&mut self) -> Trailers<'_, Self>
fn trailers(&mut self) -> Trailers<'_, Self>
Returns future that resolves to trailers, if any.
Source§fn map_data<F, B>(self, f: F) -> MapData<Self, F>
fn map_data<F, B>(self, f: F) -> MapData<Self, F>
Maps this body’s data value to a different value.
Source§fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
Maps this body’s error value to a different value.
Source§fn collect(self) -> Collect<Self>where
Self: Sized,
fn collect(self) -> Collect<Self>where
Self: Sized,
Turn this body into
Collected body which will collect all the DATA frames
and trailers.Source§fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error>
fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error>
Turn this body into a boxed trait object that is !Sync.
impl<'pin, GrpcBody, WebBody> Unpin for EncapsulatedBody<GrpcBody, WebBody>where
PinnedFieldsOf<__EncapsulatedBody<'pin, GrpcBody, WebBody>>: Unpin,
Auto Trait Implementations§
impl<GrpcBody, WebBody> Freeze for EncapsulatedBody<GrpcBody, WebBody>
impl<GrpcBody, WebBody> RefUnwindSafe for EncapsulatedBody<GrpcBody, WebBody>where
GrpcBody: RefUnwindSafe,
WebBody: RefUnwindSafe,
impl<GrpcBody, WebBody> Send for EncapsulatedBody<GrpcBody, WebBody>
impl<GrpcBody, WebBody> Sync for EncapsulatedBody<GrpcBody, WebBody>
impl<GrpcBody, WebBody> UnwindSafe for EncapsulatedBody<GrpcBody, WebBody>where
GrpcBody: UnwindSafe,
WebBody: UnwindSafe,
Blanket Implementations§
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. Read more