Trait tokio_proto::streaming::pipeline::advanced::Dispatch [] [src]

pub trait Dispatch {
    type Io;
    type In;
    type BodyIn;
    type Out;
    type BodyOut;
    type Error: From<Error>;
    type Stream: Stream<Item = Self::BodyIn, Error = Self::Error>;
    type Transport: Transport<Item = Frame<Self::Out, Self::BodyOut, Self::Error>, SinkItem = Frame<Self::In, Self::BodyIn, Self::Error>>;
    fn transport(&mut self) -> &mut Self::Transport;
fn dispatch(
        &mut self,
        message: PipelineMessage<Self::Out, Body<Self::BodyOut, Self::Error>, Self::Error>
    ) -> Result<()>;
fn poll(
        &mut self
    ) -> Poll<Option<PipelineMessage<Self::In, Self::Stream, Self::Error>>, Error>;
fn has_in_flight(&self) -> bool; }

Dispatch messages from the transport to the service

Associated Types

Type of underlying I/O object

Message written to transport

Body written to transport

Messages read from the transport

Outbound body frame

Transport error

Body stream written to transport

Transport type

Required Methods

Mutable reference to the transport

Process an out message

Poll the next completed message

RPC currently in flight TODO: Get rid of

Implementors