Enum libp2p::swarm::ConnectionHandlerEvent
source · pub enum ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> {
OutboundSubstreamRequest {
protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>,
},
Close(TErr),
Custom(TCustom),
}Expand description
Event produced by a handler.
Variants§
OutboundSubstreamRequest
Fields
protocol: SubstreamProtocol<TConnectionUpgrade, TOutboundOpenInfo>The protocol(s) to apply on the substream.
Request a new outbound substream to be opened with the remote.
Close(TErr)
Close the connection for the given reason.
Note this will affect all ConnectionHandlers handling this
connection, in other words it will close the connection for all
ConnectionHandlers. To signal that one has no more need for the
connection, while allowing other ConnectionHandlers to continue using
the connection, return KeepAlive::No in
ConnectionHandler::connection_keep_alive.
Custom(TCustom)
Other event.
Implementations§
source§impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
Event produced by a handler.
sourcepub fn map_outbound_open_info<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, I, TCustom, TErr>where
F: FnOnce(TOutboundOpenInfo) -> I,
pub fn map_outbound_open_info<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, I, TCustom, TErr>where
F: FnOnce(TOutboundOpenInfo) -> I,
If this is an OutboundSubstreamRequest, maps the info member from a
TOutboundOpenInfo to something else.
sourcepub fn map_protocol<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<I, TOutboundOpenInfo, TCustom, TErr>where
F: FnOnce(TConnectionUpgrade) -> I,
pub fn map_protocol<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<I, TOutboundOpenInfo, TCustom, TErr>where
F: FnOnce(TConnectionUpgrade) -> I,
If this is an OutboundSubstreamRequest, maps the protocol (TConnectionUpgrade)
to something else.
sourcepub fn map_custom<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, I, TErr>where
F: FnOnce(TCustom) -> I,
pub fn map_custom<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, I, TErr>where
F: FnOnce(TCustom) -> I,
If this is a Custom event, maps the content to something else.
sourcepub fn map_close<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, I>where
F: FnOnce(TErr) -> I,
pub fn map_close<F, I>(
self,
map: F
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, I>where
F: FnOnce(TErr) -> I,
If this is a Close event, maps the content to something else.
Trait Implementations§
source§impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Clone for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>where
TConnectionUpgrade: Clone,
TOutboundOpenInfo: Clone,
TCustom: Clone,
TErr: Clone,
impl<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr> Clone for ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>where
TConnectionUpgrade: Clone,
TOutboundOpenInfo: Clone,
TCustom: Clone,
TErr: Clone,
source§fn clone(
&self
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
fn clone(
&self
) -> ConnectionHandlerEvent<TConnectionUpgrade, TOutboundOpenInfo, TCustom, TErr>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more