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§
Sourcefn send_frame_boxed(
&self,
frame: &Frame,
) -> BoxFuture<'_, Result<(), TransportError>>
fn send_frame_boxed( &self, frame: &Frame, ) -> BoxFuture<'_, Result<(), TransportError>>
Send a frame (boxed future version).
Sourcefn recv_frame_boxed(&self) -> BoxFuture<'_, Result<Frame, TransportError>>
fn recv_frame_boxed(&self) -> BoxFuture<'_, Result<Frame, TransportError>>
Receive a frame (returns owned Frame, not FrameView).
Sourcefn encoder_boxed(&self) -> Box<dyn EncodeCtx + '_>
fn encoder_boxed(&self) -> Box<dyn EncodeCtx + '_>
Create an encoder context.
Sourcefn close_boxed(&self) -> BoxFuture<'_, Result<(), TransportError>>
fn close_boxed(&self) -> BoxFuture<'_, Result<(), TransportError>>
Graceful shutdown (boxed future version).