Skip to main content

ReconnectingSocket

Trait ReconnectingSocket 

Source
pub trait ReconnectingSocket
where Self: Stream,
{ // Provided methods fn on_connect_err<Socket, ErrConnect, ErrHandler>( self, on_err: ErrHandler, ) -> OnConnectErr<Self, ErrHandler> where Self: Stream<Item = Result<Socket, ConnectError<ErrConnect>>> + Sized, ErrHandler: ConnectErrorHandler<ErrConnect> { ... } fn on_stream_err<Socket, StOk, StErr, ErrHandler>( self, on_err: ErrHandler, ) -> impl Stream<Item = OnStreamErr<Socket, ErrHandler>> where Self: Stream<Item = Socket> + Sized, Socket: Stream<Item = Result<StOk, StErr>>, ErrHandler: StreamErrorHandler<StErr> + Clone + 'static { ... } fn on_stream_err_filter<Socket, StOk, StErr, ErrHandler>( self, on_err: ErrHandler, ) -> impl Stream<Item = OnStreamErrFilter<Socket, ErrHandler>> where Self: Stream<Item = Socket> + Sized, Socket: Stream<Item = Result<StOk, StErr>>, ErrHandler: StreamErrorHandler<StErr> + Clone + 'static { ... } fn with_socket_updates<Socket, SinkItem>( self, ) -> impl Stream<Item = SocketUpdate<SplitSink<Socket, SinkItem>, Socket::Item>> where Self: Stream<Item = Socket> + Sized, Socket: Sink<SinkItem> + Stream { ... } }
Expand description

Extension trait providing reconnection utilities for streams.

Provided Methods§

Source

fn on_connect_err<Socket, ErrConnect, ErrHandler>( self, on_err: ErrHandler, ) -> OnConnectErr<Self, ErrHandler>
where Self: Stream<Item = Result<Socket, ConnectError<ErrConnect>>> + Sized, ErrHandler: ConnectErrorHandler<ErrConnect>,

Handles connection errors using the provided ConnectErrorHandler.

Source

fn on_stream_err<Socket, StOk, StErr, ErrHandler>( self, on_err: ErrHandler, ) -> impl Stream<Item = OnStreamErr<Socket, ErrHandler>>
where Self: Stream<Item = Socket> + Sized, Socket: Stream<Item = Result<StOk, StErr>>, ErrHandler: StreamErrorHandler<StErr> + Clone + 'static,

Applies error handling to the inner Stream using the provided StreamErrorHandler.

Errors may be passed through or trigger a reconnecting.

Source

fn on_stream_err_filter<Socket, StOk, StErr, ErrHandler>( self, on_err: ErrHandler, ) -> impl Stream<Item = OnStreamErrFilter<Socket, ErrHandler>>
where Self: Stream<Item = Socket> + Sized, Socket: Stream<Item = Result<StOk, StErr>>, ErrHandler: StreamErrorHandler<StErr> + Clone + 'static,

Similar to ReconnectingSocket::on_stream_err but filters all errors after applying the provided StreamErrorHandler.

Source

fn with_socket_updates<Socket, SinkItem>( self, ) -> impl Stream<Item = SocketUpdate<SplitSink<Socket, SinkItem>, Socket::Item>>
where Self: Stream<Item = Socket> + Sized, Socket: Sink<SinkItem> + Stream,

Wrap stream items with SocketUpdate lifecycle events.

Implementors§

Source§

impl<St> ReconnectingSocket for St
where St: Stream,