Skip to main content

Connection

Trait Connection 

Source
pub trait Connection {
    type Io: AsyncRead + AsyncWrite + Unpin;
    type Future: Future<Output = Result<(ResponseHead, Payload), SendRequestError>>;
    type TunnelFuture: Future<Output = Result<(ResponseHead, Framed<Self::Io, ClientCodec>), SendRequestError>>;

    // Required methods
    fn protocol(&self) -> Protocol;
    fn send_request<B: MessageBody + 'static, H: Into<RequestHeadType>>(
        self,
        head: H,
        body: B,
    ) -> Self::Future;
    fn open_tunnel<H: Into<RequestHeadType>>(
        self,
        head: H,
    ) -> Self::TunnelFuture;
}

Required Associated Types§

Required Methods§

Source

fn protocol(&self) -> Protocol

Source

fn send_request<B: MessageBody + 'static, H: Into<RequestHeadType>>( self, head: H, body: B, ) -> Self::Future

Send request and body

Source

fn open_tunnel<H: Into<RequestHeadType>>(self, head: H) -> Self::TunnelFuture

Send request, returns Response and Framed

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§