pub struct PingHandler { /* private fields */ }
Expand description
Protocol handler that handles pinging the remote at a regular period and answering ping queries.
If the remote doesn’t respond, produces an error that closes the connection.
Implementations
sourceimpl PingHandler
impl PingHandler
sourcepub fn new(config: PingConfig) -> PingHandler
pub fn new(config: PingConfig) -> PingHandler
Builds a new PingHandler
with the given configuration.
Trait Implementations
sourceimpl ProtocolsHandler for PingHandler
impl ProtocolsHandler for PingHandler
type OutEvent = Result<PingSuccess, PingFailure>
type OutEvent = Result<PingSuccess, PingFailure>
Custom event that can be produced by the handler and that will be returned to the outside.
type Error = PingFailure
type Error = PingFailure
The type of errors returned by ProtocolsHandler::poll
.
type InboundProtocol = Ping
type InboundProtocol = Ping
The inbound upgrade for the protocol(s) used by the handler.
type OutboundProtocol = Ping
type OutboundProtocol = Ping
The outbound upgrade for the protocol(s) used by the handler.
type OutboundOpenInfo = ()
type OutboundOpenInfo = ()
The type of additional information passed to an OutboundSubstreamRequest
.
type InboundOpenInfo = ()
type InboundOpenInfo = ()
The type of additional information returned from listen_protocol
.
sourcepub fn listen_protocol(&self) -> SubstreamProtocol<Ping, ()>
pub fn listen_protocol(&self) -> SubstreamProtocol<Ping, ()>
The InboundUpgrade
to apply on inbound
substreams to negotiate the desired protocols. Read more
sourcepub fn inject_fully_negotiated_inbound(
&mut self,
stream: Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>,
()
)
pub fn inject_fully_negotiated_inbound(
&mut self,
stream: Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>,
()
)
Injects the output of a successful upgrade on a new inbound substream.
sourcepub fn inject_fully_negotiated_outbound(
&mut self,
stream: Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>,
()
)
pub fn inject_fully_negotiated_outbound(
&mut self,
stream: Negotiated<SubstreamRef<Arc<StreamMuxerBox>>>,
()
)
Injects the output of a successful upgrade on a new outbound substream. Read more
sourcepub fn inject_event(&mut self, Void)
pub fn inject_event(&mut self, Void)
Injects an event coming from the outside in the handler.
sourcepub fn inject_dial_upgrade_error(
&mut self,
_info: (),
error: ProtocolsHandlerUpgrErr<Void>
)
pub fn inject_dial_upgrade_error(
&mut self,
_info: (),
error: ProtocolsHandlerUpgrErr<Void>
)
Indicates to the handler that upgrading an outbound substream to the given protocol has failed.
sourcepub fn connection_keep_alive(&self) -> KeepAlive
pub fn connection_keep_alive(&self) -> KeepAlive
Returns until when the connection should be kept alive. Read more
sourcepub fn poll(
&mut self,
cx: &mut Context<'_>
) -> Poll<ProtocolsHandlerEvent<Ping, (), Result<PingSuccess, PingFailure>, <PingHandler as ProtocolsHandler>::Error>>
pub fn poll(
&mut self,
cx: &mut Context<'_>
) -> Poll<ProtocolsHandlerEvent<Ping, (), Result<PingSuccess, PingFailure>, <PingHandler as ProtocolsHandler>::Error>>
Should behave like Stream::poll()
.
sourcefn inject_address_change(&mut self, _new_address: &Multiaddr)
fn inject_address_change(&mut self, _new_address: &Multiaddr)
Notifies the handler of a change in the address of the remote.
sourcefn inject_listen_upgrade_error(
&mut self,
Self::InboundOpenInfo,
ProtocolsHandlerUpgrErr<<Self::InboundProtocol as InboundUpgradeSend>::Error>
)
fn inject_listen_upgrade_error(
&mut self,
Self::InboundOpenInfo,
ProtocolsHandlerUpgrErr<<Self::InboundProtocol as InboundUpgradeSend>::Error>
)
Indicates to the handler that upgrading an inbound substream to the given protocol has failed.
sourcefn map_in_event<TNewIn, TMap>(self, map: TMap) -> MapInEvent<Self, TNewIn, TMap> where
TMap: Fn(&TNewIn) -> Option<&Self::InEvent>,
fn map_in_event<TNewIn, TMap>(self, map: TMap) -> MapInEvent<Self, TNewIn, TMap> where
TMap: Fn(&TNewIn) -> Option<&Self::InEvent>,
Adds a closure that turns the input event into something else.
sourcefn map_out_event<TMap, TNewOut>(self, map: TMap) -> MapOutEvent<Self, TMap> where
TMap: FnMut(Self::OutEvent) -> TNewOut,
fn map_out_event<TMap, TNewOut>(self, map: TMap) -> MapOutEvent<Self, TMap> where
TMap: FnMut(Self::OutEvent) -> TNewOut,
Adds a closure that turns the output event into something else.
sourcefn select<TProto2>(
self,
other: TProto2
) -> ProtocolsHandlerSelect<Self, TProto2>
fn select<TProto2>(
self,
other: TProto2
) -> ProtocolsHandlerSelect<Self, TProto2>
Creates a new ProtocolsHandler
that selects either this handler or
other
by delegating methods calls appropriately. Read more
sourcefn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>
fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>
Creates a builder that allows creating a NodeHandler
that handles this protocol
exclusively. Read more
Auto Trait Implementations
impl !RefUnwindSafe for PingHandler
impl Send for PingHandler
impl !Sync for PingHandler
impl Unpin for PingHandler
impl !UnwindSafe for PingHandler
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> IntoProtocolsHandler for T where
T: ProtocolsHandler,
impl<T> IntoProtocolsHandler for T where
T: ProtocolsHandler,
type Handler = T
type Handler = T
The protocols handler.
sourcepub fn into_handler(self, &PeerId, &ConnectedPoint) -> T
pub fn into_handler(self, &PeerId, &ConnectedPoint) -> T
Builds the protocols handler. Read more
sourcepub 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.
sourcefn select<TProto2>(
self,
other: TProto2
) -> IntoProtocolsHandlerSelect<Self, TProto2>
fn select<TProto2>(
self,
other: TProto2
) -> IntoProtocolsHandlerSelect<Self, TProto2>
Builds an implementation of IntoProtocolsHandler
that handles both this protocol and the
other one together. Read more
sourcefn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>
fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>
Creates a builder that will allow creating a NodeHandler
that handles this protocol
exclusively. Read more