DynTransport

Trait DynTransport 

Source
pub trait DynTransport: Send + Sync {
    // Required methods
    fn send_frame_boxed(
        &self,
        frame: &Frame,
    ) -> BoxFuture<'_, Result<(), TransportError>>;
    fn recv_frame_boxed(&self) -> BoxFuture<'_, Result<Frame, TransportError>>;
    fn encoder_boxed(&self) -> Box<dyn EncodeCtx + '_>;
    fn close_boxed(&self) -> BoxFuture<'_, Result<(), TransportError>>;
}
Expand description

Object-safe version of Transport for dynamic dispatch.

Use this when you need to store transports in a collection or pass them through trait objects.

Required Methods§

Source

fn send_frame_boxed( &self, frame: &Frame, ) -> BoxFuture<'_, Result<(), TransportError>>

Send a frame (boxed future version).

Source

fn recv_frame_boxed(&self) -> BoxFuture<'_, Result<Frame, TransportError>>

Receive a frame (returns owned Frame, not FrameView).

Source

fn encoder_boxed(&self) -> Box<dyn EncodeCtx + '_>

Create an encoder context.

Source

fn close_boxed(&self) -> BoxFuture<'_, Result<(), TransportError>>

Graceful shutdown (boxed future version).

Implementors§