[][src]Enum tokio_proto::streaming::multiplex::Frame

pub enum Frame<T, B, E> {
    Message {
        id: RequestId,
        message: T,
        body: bool,
        solo: bool,
    },
    Body {
        id: RequestId,
        chunk: Option<B>,
    },
    Error {
        id: RequestId,
        error: E,
    },
}

A multiplexed protocol frame

Variants

Message

Either a request or a response.

Fields of Message

id: RequestId

Message exchange identifier

message: T

The message value

body: bool

Set to true when body frames will follow with the same request ID.

solo: bool

Set to true when this message does not have a pair in the other direction

Body

Body frame.

Fields of Body

id: RequestId

Message exchange identifier

chunk: Option<B>

Body chunk. Setting to None indicates that the body is done streaming and there will be no further body frames sent with the given request ID.

Error

Error

Fields of Error

id: RequestId

Message exchange identifier

error: E

Error value

Methods

impl<T, B, E> Frame<T, B, E>[src]

pub fn request_id(&self) -> RequestId[src]

Return the request ID associated with the frame.

pub fn unwrap_msg(self) -> T[src]

Unwraps a frame, yielding the content of the Message.

pub fn unwrap_body(self) -> Option<B>[src]

Unwraps a frame, yielding the content of the Body.

pub fn unwrap_err(self) -> E[src]

Unwraps a frame, yielding the content of the Error.

Trait Implementations

impl<T: Clone, B: Clone, E: Clone> Clone for Frame<T, B, E>[src]

impl<T: Debug, B: Debug, E: Debug> Debug for Frame<T, B, E>[src]

Auto Trait Implementations

impl<T, B, E> RefUnwindSafe for Frame<T, B, E> where
    B: RefUnwindSafe,
    E: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, B, E> Send for Frame<T, B, E> where
    B: Send,
    E: Send,
    T: Send

impl<T, B, E> Sync for Frame<T, B, E> where
    B: Sync,
    E: Sync,
    T: Sync

impl<T, B, E> Unpin for Frame<T, B, E> where
    B: Unpin,
    E: Unpin,
    T: Unpin

impl<T, B, E> UnwindSafe for Frame<T, B, E> where
    B: UnwindSafe,
    E: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

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

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, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.