pub trait ReconnectingSocketwhere
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§
Sourcefn 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_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.
Sourcefn on_stream_err<Socket, StOk, StErr, ErrHandler>(
self,
on_err: ErrHandler,
) -> impl Stream<Item = OnStreamErr<Socket, ErrHandler>>
fn on_stream_err<Socket, StOk, StErr, ErrHandler>( self, on_err: ErrHandler, ) -> impl Stream<Item = OnStreamErr<Socket, ErrHandler>>
Applies error handling to the inner Stream using the provided StreamErrorHandler.
Errors may be passed through or trigger a reconnecting.
Sourcefn on_stream_err_filter<Socket, StOk, StErr, ErrHandler>(
self,
on_err: ErrHandler,
) -> impl Stream<Item = OnStreamErrFilter<Socket, ErrHandler>>
fn on_stream_err_filter<Socket, StOk, StErr, ErrHandler>( self, on_err: ErrHandler, ) -> impl Stream<Item = OnStreamErrFilter<Socket, ErrHandler>>
Similar to ReconnectingSocket::on_stream_err but filters all errors after applying
the provided StreamErrorHandler.
Sourcefn with_socket_updates<Socket, SinkItem>(
self,
) -> impl Stream<Item = SocketUpdate<SplitSink<Socket, SinkItem>, Socket::Item>>
fn with_socket_updates<Socket, SinkItem>( self, ) -> impl Stream<Item = SocketUpdate<SplitSink<Socket, SinkItem>, Socket::Item>>
Wrap stream items with SocketUpdate lifecycle events.