Skip to main content

OutboundStreamHandler

Trait OutboundStreamHandler 

Source
pub trait OutboundStreamHandler: ConnectionHandler {
    type OutboundUpgrade: OutboundUpgradeSend;
    type OutboundUserData: Send + 'static;

    // Required methods
    fn on_fully_negotiated(
        &mut self,
        user_data: Self::OutboundUserData,
        protocol: <Self::OutboundUpgrade as OutboundUpgradeSend>::Output,
    );
    fn on_upgrade_error(
        &mut self,
        user_data: Self::OutboundUserData,
        error: StreamUpgradeError<<Self::OutboundUpgrade as OutboundUpgradeSend>::Error>,
    );
    fn poll_outbound_request(
        &mut self,
        cx: &mut Context<'_>,
    ) -> Poll<SubstreamProtocol<Self::OutboundUpgrade, Self::OutboundUserData>>;
}

Required Associated Types§

Required Methods§

Source

fn on_fully_negotiated( &mut self, user_data: Self::OutboundUserData, protocol: <Self::OutboundUpgrade as OutboundUpgradeSend>::Output, )

Source

fn on_upgrade_error( &mut self, user_data: Self::OutboundUserData, error: StreamUpgradeError<<Self::OutboundUpgrade as OutboundUpgradeSend>::Error>, )

Source

fn poll_outbound_request( &mut self, cx: &mut Context<'_>, ) -> Poll<SubstreamProtocol<Self::OutboundUpgrade, Self::OutboundUserData>>

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl OutboundStreamHandler for DummyHandler

Source§

impl OutboundStreamHandler for PendingConnectionHandler

Source§

impl<L, R> OutboundStreamHandler for Either<L, R>

Source§

impl<THandler1, THandler2> OutboundStreamHandler for ConnectionHandlerSelect<THandler1, THandler2>
where THandler1: OutboundStreamHandler, THandler2: OutboundStreamHandler,

Source§

impl<THandler, O, TMap> OutboundStreamHandler for MapAction<THandler, O, TMap>
where THandler: OutboundStreamHandler, O: Debug + Send + Clone + 'static, TMap: Send + 'static + Fn(O) -> Option<THandler::Action>,

Source§

impl<THandler, O, TMap> OutboundStreamHandler for MapEvent<THandler, TMap>
where THandler: OutboundStreamHandler, O: Debug + Send + Clone + 'static, TMap: Send + 'static + FnMut(THandler::Event) -> O,