Struct tonic::transport::Body[][src]

#[must_use = "streams do nothing unless polled"]pub struct Body { /* fields omitted */ }

A stream of Bytes, used when receiving bodies.

A good default HttpBody to use in many applications.

Implementations

impl Body[src]

pub fn empty() -> Body[src]

Create an empty Body stream.

Example

use hyper::{Body, Request};

// create a `GET /` request
let get = Request::new(Body::empty());

pub fn channel() -> (Sender, Body)[src]

Create a Body stream with an associated sender half.

Useful when wanting to stream chunks from another thread.

pub fn wrap_stream<S, O, E>(stream: S) -> Body where
    S: Stream<Item = Result<O, E>> + Send + 'static,
    E: Into<Box<dyn Error + 'static + Send + Sync, Global>> + 'static,
    O: Into<Bytes> + 'static, 
[src]

Wrap a futures Stream in a box inside Body.

Example

let chunks: Vec<Result<_, std::io::Error>> = vec![
    Ok("hello"),
    Ok(" "),
    Ok("world"),
];

let stream = futures_util::stream::iter(chunks);

let body = Body::wrap_stream(stream);

Optional

This function requires enabling the stream feature in your Cargo.toml.

pub fn on_upgrade(self) -> OnUpgrade

Notable traits for OnUpgrade

impl Future for OnUpgrade type Output = Result<Upgraded, Error>;
[src]

Converts this Body into a Future of a pending HTTP upgrade.

See the upgrade module for more.

Trait Implementations

impl Body for Body[src]

type Data = Bytes

Values yielded by the Body.

type Error = Error

The error type this Body might generate.

impl Debug for Body[src]

impl Default for Body[src]

pub fn default() -> Body[src]

Returns Body::empty().

impl From<&'static [u8]> for Body[src]

impl From<&'static str> for Body[src]

impl From<Box<dyn Stream<Item = Result<Bytes, Box<dyn Error + 'static + Send + Sync, Global>>> + 'static + Send, Global>> for Body[src]

Optional

This function requires enabling the stream feature in your Cargo.toml.

impl From<Bytes> for Body[src]

impl From<Cow<'static, [u8]>> for Body[src]

impl From<Cow<'static, str>> for Body[src]

impl From<String> for Body[src]

impl From<Vec<u8, Global>> for Body[src]

impl Stream for Body[src]

Optional

This function requires enabling the stream feature in your Cargo.toml.

type Item = Result<Bytes, Error>

Values yielded by the stream.

Auto Trait Implementations

impl !RefUnwindSafe for Body

impl Send for Body

impl Sync for Body

impl Unpin for Body

impl !UnwindSafe for Body

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Body for T where
    T: Body + Send + Sync + 'static,
    <T as Body>::Error: Into<Box<dyn Error + 'static + Send + Sync, Global>>, 
[src]

type Data = <T as Body>::Data

The body data type.

type Error = <T as Body>::Error

The errors produced from the body.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> StreamExt for T where
    T: Stream + ?Sized
[src]

impl<St> StreamExt for St where
    St: Stream + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<S, T, E> TryStream for S where
    S: Stream<Item = Result<T, E>> + ?Sized
[src]

type Ok = T

The type of successful values yielded by this future

type Error = E

The type of failures yielded by this future

impl<S> TryStreamExt for S where
    S: TryStream + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> WithSubscriber for T[src]