[−][src]Struct libp2p_core::protocols_handler::Fuse
Wrapper around a protocol handler and ignores all further method calls once it has shut down.
Methods
impl<TProtoHandler> Fuse<TProtoHandler>[src]
pub fn is_shutdown(&self) -> bool[src]
Returns true if polling has returned Shutdown in the past.
Trait Implementations
impl<TProtoHandler> ProtocolsHandler for Fuse<TProtoHandler> where
TProtoHandler: ProtocolsHandler, [src]
TProtoHandler: ProtocolsHandler,
type InEvent = TProtoHandler::InEvent
Custom event that can be received from the outside.
type OutEvent = TProtoHandler::OutEvent
Custom event that can be produced by the handler and that will be returned to the outside.
type Error = TProtoHandler::Error
Error that can happen when polling.
type Substream = TProtoHandler::Substream
The type of the substream that contains the raw data.
type InboundProtocol = EitherUpgrade<TProtoHandler::InboundProtocol, DeniedUpgrade>
The upgrade for the protocol or protocols handled by this handler.
type OutboundProtocol = TProtoHandler::OutboundProtocol
The upgrade for the protocol or protocols handled by this handler.
type OutboundOpenInfo = TProtoHandler::OutboundOpenInfo
Information about a substream. Can be sent to the handler through a NodeHandlerEndpoint, and will be passed back in inject_substream or inject_outbound_closed. Read more
fn listen_protocol(&self) -> Self::InboundProtocol[src]
fn inject_fully_negotiated_inbound(
&mut self,
protocol: <Self::InboundProtocol as InboundUpgrade<Self::Substream>>::Output
)[src]
&mut self,
protocol: <Self::InboundProtocol as InboundUpgrade<Self::Substream>>::Output
)
fn inject_fully_negotiated_outbound(
&mut self,
protocol: <Self::OutboundProtocol as OutboundUpgrade<Self::Substream>>::Output,
info: Self::OutboundOpenInfo
)[src]
&mut self,
protocol: <Self::OutboundProtocol as OutboundUpgrade<Self::Substream>>::Output,
info: Self::OutboundOpenInfo
)
fn inject_event(&mut self, event: Self::InEvent)[src]
fn inject_dial_upgrade_error(
&mut self,
info: Self::OutboundOpenInfo,
error: ProtocolsHandlerUpgrErr<<Self::OutboundProtocol as OutboundUpgrade<Self::Substream>>::Error>
)[src]
&mut self,
info: Self::OutboundOpenInfo,
error: ProtocolsHandlerUpgrErr<<Self::OutboundProtocol as OutboundUpgrade<Self::Substream>>::Error>
)
fn inject_inbound_closed(&mut self)[src]
fn connection_keep_alive(&self) -> KeepAlive[src]
fn shutdown(&mut self)[src]
fn poll(
&mut self
) -> Poll<ProtocolsHandlerEvent<Self::OutboundProtocol, Self::OutboundOpenInfo, Self::OutEvent>, Self::Error>[src]
&mut self
) -> Poll<ProtocolsHandlerEvent<Self::OutboundProtocol, Self::OutboundOpenInfo, Self::OutEvent>, Self::Error>
fn map_in_event<TNewIn, TMap>(self, map: TMap) -> MapInEvent<Self, TNewIn, TMap> where
Self: Sized,
TMap: Fn(&TNewIn) -> Option<&Self::InEvent>, [src]
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, [src]
Self: Sized,
TMap: FnMut(Self::OutEvent) -> TNewOut,
Adds a closure that turns the output event into something else.
fn fuse(self) -> Fuse<Self> where
Self: Sized, [src]
Self: Sized,
Wraps around self. When poll() returns Shutdown, any further call to any method will be ignored. Read more
fn select<TProto2>(
self,
other: TProto2
) -> ProtocolsHandlerSelect<Self, TProto2> where
Self: Sized, [src]
self,
other: TProto2
) -> ProtocolsHandlerSelect<Self, TProto2> where
Self: Sized,
Builds an implementation of ProtocolsHandler that handles both this protocol and the other one together. Read more
fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self> where
Self: Sized, [src]
Self: Sized,
Creates a builder that will allow creating a NodeHandler that handles this protocol exclusively. Read more
fn into_node_handler(self) -> NodeHandlerWrapper<Self> where
Self: Sized, [src]
Self: Sized,
Use into_node_handler_builder instead
Builds an implementation of NodeHandler that handles this protocol exclusively. Read more
impl<TProtoHandler: Clone> Clone for Fuse<TProtoHandler>[src]
fn clone(&self) -> Fuse<TProtoHandler>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl<TProtoHandler: Copy> Copy for Fuse<TProtoHandler>[src]
impl<TProtoHandler: Debug> Debug for Fuse<TProtoHandler>[src]
Auto Trait Implementations
impl<TProtoHandler> Send for Fuse<TProtoHandler> where
TProtoHandler: Send,
TProtoHandler: Send,
impl<TProtoHandler> Sync for Fuse<TProtoHandler> where
TProtoHandler: Sync,
TProtoHandler: Sync,
Blanket Implementations
impl<T> IntoProtocolsHandler for T where
T: ProtocolsHandler, [src]
T: ProtocolsHandler,
type Handler = T
The protocols handler.
fn into_handler(Self, &PeerId) -> T[src]
fn select<TProto2>(
self,
other: TProto2
) -> IntoProtocolsHandlerSelect<Self, TProto2> where
Self: Sized, [src]
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
fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self> where
Self: Sized, [src]
Self: Sized,
Creates a builder that will allow creating a NodeHandler that handles this protocol exclusively. Read more
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Same for T
type Output = T
Should always be Self