pub trait CanDisconnect<T>: Sink<T> + Unpin {
// Required method
fn disconnect(
&mut self,
reason: DisconnectReason,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + '_>>;
}
Expand description
This trait is meant to allow higher level protocols like eth
to disconnect from a peer, using
lower-level disconnect functions (such as those that exist in the p2p
protocol) if the
underlying stream supports it.
Required Methods§
Sourcefn disconnect(
&mut self,
reason: DisconnectReason,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + '_>>
fn disconnect( &mut self, reason: DisconnectReason, ) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send + '_>>
Disconnects from the underlying stream, using a DisconnectReason
as disconnect
information if the stream implements a protocol that can carry the additional disconnect
metadata.