Struct libp2p_swarm::protocols_handler::MapInEvent [−][src]
pub struct MapInEvent<TProtoHandler, TNewIn, TMap> { /* fields omitted */ }
Expand description
Wrapper around a protocol handler that turns the input event into something else.
Trait Implementations
impl<TProtoHandler, TMap, TNewIn> ProtocolsHandler for MapInEvent<TProtoHandler, TNewIn, TMap> where
TProtoHandler: ProtocolsHandler,
TMap: Fn(TNewIn) -> Option<TProtoHandler::InEvent>,
TNewIn: Debug + Send + 'static,
TMap: Send + 'static,
impl<TProtoHandler, TMap, TNewIn> ProtocolsHandler for MapInEvent<TProtoHandler, TNewIn, TMap> where
TProtoHandler: ProtocolsHandler,
TMap: Fn(TNewIn) -> Option<TProtoHandler::InEvent>,
TNewIn: Debug + Send + 'static,
TMap: Send + 'static,
type InEvent = TNewIn
type InEvent = TNewIn
Custom event that can be received from the outside.
Custom event that can be produced by the handler and that will be returned to the outside.
The type of errors returned by ProtocolsHandler::poll
.
type InboundProtocol = TProtoHandler::InboundProtocol
type InboundProtocol = TProtoHandler::InboundProtocol
The inbound upgrade for the protocol(s) used by the handler.
type OutboundProtocol = TProtoHandler::OutboundProtocol
type OutboundProtocol = TProtoHandler::OutboundProtocol
The outbound upgrade for the protocol(s) used by the handler.
type InboundOpenInfo = TProtoHandler::InboundOpenInfo
type InboundOpenInfo = TProtoHandler::InboundOpenInfo
The type of additional information returned from listen_protocol
.
type OutboundOpenInfo = TProtoHandler::OutboundOpenInfo
type OutboundOpenInfo = TProtoHandler::OutboundOpenInfo
The type of additional information passed to an OutboundSubstreamRequest
.
The InboundUpgrade
to apply on inbound
substreams to negotiate the desired protocols. Read more
fn inject_fully_negotiated_inbound(
&mut self,
protocol: <Self::InboundProtocol as InboundUpgradeSend>::Output,
info: Self::InboundOpenInfo
)
fn inject_fully_negotiated_inbound(
&mut self,
protocol: <Self::InboundProtocol as InboundUpgradeSend>::Output,
info: Self::InboundOpenInfo
)
Injects the output of a successful upgrade on a new inbound substream.
fn inject_fully_negotiated_outbound(
&mut self,
protocol: <Self::OutboundProtocol as OutboundUpgradeSend>::Output,
info: Self::OutboundOpenInfo
)
fn inject_fully_negotiated_outbound(
&mut self,
protocol: <Self::OutboundProtocol as OutboundUpgradeSend>::Output,
info: Self::OutboundOpenInfo
)
Injects the output of a successful upgrade on a new outbound substream. Read more
Injects an event coming from the outside in the handler.
Notifies the handler of a change in the address of the remote.
fn inject_dial_upgrade_error(
&mut self,
info: Self::OutboundOpenInfo,
error: ProtocolsHandlerUpgrErr<<Self::OutboundProtocol as OutboundUpgradeSend>::Error>
)
fn inject_dial_upgrade_error(
&mut self,
info: Self::OutboundOpenInfo,
error: ProtocolsHandlerUpgrErr<<Self::OutboundProtocol as OutboundUpgradeSend>::Error>
)
Indicates to the handler that upgrading an outbound substream to the given protocol has failed.
fn inject_listen_upgrade_error(
&mut self,
info: Self::InboundOpenInfo,
error: ProtocolsHandlerUpgrErr<<Self::InboundProtocol as InboundUpgradeSend>::Error>
)
fn inject_listen_upgrade_error(
&mut self,
info: Self::InboundOpenInfo,
error: ProtocolsHandlerUpgrErr<<Self::InboundProtocol as InboundUpgradeSend>::Error>
)
Indicates to the handler that upgrading an inbound substream to the given protocol has failed.
Returns until when the connection should be kept alive. Read more
fn poll(
&mut self,
cx: &mut Context<'_>
) -> Poll<ProtocolsHandlerEvent<Self::OutboundProtocol, Self::OutboundOpenInfo, Self::OutEvent, Self::Error>>
fn poll(
&mut self,
cx: &mut Context<'_>
) -> Poll<ProtocolsHandlerEvent<Self::OutboundProtocol, Self::OutboundOpenInfo, Self::OutEvent, Self::Error>>
Should behave like Stream::poll()
.
fn map_in_event<TNewIn, TMap>(self, map: TMap) -> MapInEvent<Self, TNewIn, TMap> where
Self: Sized,
TMap: Fn(&TNewIn) -> Option<&Self::InEvent>,
fn map_in_event<TNewIn, TMap>(self, map: TMap) -> MapInEvent<Self, TNewIn, TMap> where
Self: Sized,
TMap: Fn(&TNewIn) -> Option<&Self::InEvent>,
Adds a closure that turns the input event into something else.
fn map_out_event<TMap, TNewOut>(self, map: TMap) -> MapOutEvent<Self, TMap> where
Self: Sized,
TMap: FnMut(Self::OutEvent) -> TNewOut,
fn map_out_event<TMap, TNewOut>(self, map: TMap) -> MapOutEvent<Self, TMap> where
Self: Sized,
TMap: FnMut(Self::OutEvent) -> TNewOut,
Adds a closure that turns the output event into something else.
fn select<TProto2>(
self,
other: TProto2
) -> ProtocolsHandlerSelect<Self, TProto2> where
Self: Sized,
fn select<TProto2>(
self,
other: TProto2
) -> ProtocolsHandlerSelect<Self, TProto2> where
Self: Sized,
Creates a new ProtocolsHandler
that selects either this handler or
other
by delegating methods calls appropriately. Read more
Creates a builder that allows creating a NodeHandler
that handles this protocol
exclusively. Read more
Auto Trait Implementations
impl<TProtoHandler, TNewIn, TMap> RefUnwindSafe for MapInEvent<TProtoHandler, TNewIn, TMap> where
TMap: RefUnwindSafe,
TNewIn: RefUnwindSafe,
TProtoHandler: RefUnwindSafe,
impl<TProtoHandler, TNewIn, TMap> Send for MapInEvent<TProtoHandler, TNewIn, TMap> where
TMap: Send,
TNewIn: Send,
TProtoHandler: Send,
impl<TProtoHandler, TNewIn, TMap> Sync for MapInEvent<TProtoHandler, TNewIn, TMap> where
TMap: Sync,
TNewIn: Sync,
TProtoHandler: Sync,
impl<TProtoHandler, TNewIn, TMap> Unpin for MapInEvent<TProtoHandler, TNewIn, TMap> where
TMap: Unpin,
TNewIn: Unpin,
TProtoHandler: Unpin,
impl<TProtoHandler, TNewIn, TMap> UnwindSafe for MapInEvent<TProtoHandler, TNewIn, TMap> where
TMap: UnwindSafe,
TNewIn: UnwindSafe,
TProtoHandler: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type Handler = T
type Handler = T
The protocols handler.
Builds the protocols handler. Read more
pub fn inbound_protocol(
&Self
) -> <<T as IntoProtocolsHandler>::Handler as ProtocolsHandler>::InboundProtocol
pub fn inbound_protocol(
&Self
) -> <<T as IntoProtocolsHandler>::Handler as ProtocolsHandler>::InboundProtocol
Return the handler’s inbound protocol.
fn select<TProto2>(
self,
other: TProto2
) -> IntoProtocolsHandlerSelect<Self, TProto2> where
Self: Sized,
fn select<TProto2>(
self,
other: TProto2
) -> IntoProtocolsHandlerSelect<Self, TProto2> where
Self: Sized,
Builds an implementation of IntoProtocolsHandler
that handles both this protocol and the
other one together. Read more
Creates a builder that will allow creating a NodeHandler
that handles this protocol
exclusively. Read more