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§
Source§impl PingHandler
impl PingHandler
Sourcepub fn new(config: PingConfig) -> Self
pub fn new(config: PingConfig) -> Self
Builds a new PingHandler with the given configuration.
Trait Implementations§
Source§impl ProtocolsHandler for PingHandler
impl ProtocolsHandler for PingHandler
Source§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.
Source§type Error = PingFailure
type Error = PingFailure
The type of errors returned by
ProtocolsHandler::poll.Source§type InboundProtocol = Ping
type InboundProtocol = Ping
The inbound upgrade for the protocol(s) used by the handler.
Source§type OutboundProtocol = Ping
type OutboundProtocol = Ping
The outbound upgrade for the protocol(s) used by the handler.
Source§type OutboundOpenInfo = ()
type OutboundOpenInfo = ()
The type of additional information passed to an
OutboundSubstreamRequest.Source§type InboundOpenInfo = ()
type InboundOpenInfo = ()
The type of additional information returned from
listen_protocol.Source§fn listen_protocol(&self) -> SubstreamProtocol<Ping, ()>
fn listen_protocol(&self) -> SubstreamProtocol<Ping, ()>
The
InboundUpgrade to apply on inbound
substreams to negotiate the desired protocols. Read moreSource§fn inject_fully_negotiated_inbound(
&mut self,
stream: NegotiatedSubstream,
(): (),
)
fn inject_fully_negotiated_inbound( &mut self, stream: NegotiatedSubstream, (): (), )
Injects the output of a successful upgrade on a new inbound substream.
Source§fn inject_fully_negotiated_outbound(
&mut self,
stream: NegotiatedSubstream,
(): (),
)
fn inject_fully_negotiated_outbound( &mut self, stream: NegotiatedSubstream, (): (), )
Injects the output of a successful upgrade on a new outbound substream. Read more
Source§fn inject_event(&mut self, _: Void)
fn inject_event(&mut self, _: Void)
Injects an event coming from the outside in the handler.
Source§fn inject_dial_upgrade_error(
&mut self,
_info: (),
error: ProtocolsHandlerUpgrErr<Void>,
)
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.
Source§fn connection_keep_alive(&self) -> KeepAlive
fn connection_keep_alive(&self) -> KeepAlive
Returns until when the connection should be kept alive. Read more
Source§fn poll(
&mut self,
cx: &mut Context<'_>,
) -> Poll<ProtocolsHandlerEvent<Ping, (), PingResult, Self::Error>>
fn poll( &mut self, cx: &mut Context<'_>, ) -> Poll<ProtocolsHandlerEvent<Ping, (), PingResult, Self::Error>>
Should behave like
Stream::poll().Source§fn 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.
Source§fn 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.
Source§fn map_in_event<TNewIn, TMap>(self, map: TMap) -> MapInEvent<Self, TNewIn, TMap>
fn map_in_event<TNewIn, TMap>(self, map: TMap) -> MapInEvent<Self, TNewIn, TMap>
Adds a closure that turns the input event into something else.
Source§fn map_out_event<TMap, TNewOut>(self, map: TMap) -> MapOutEvent<Self, TMap>
fn map_out_event<TMap, TNewOut>(self, map: TMap) -> MapOutEvent<Self, TMap>
Adds a closure that turns the output event into something else.
Source§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 moreSource§fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>where
Self: Sized,
fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>where
Self: Sized,
Creates a builder that allows creating a
NodeHandler that handles this protocol
exclusively. Read moreAuto Trait Implementations§
impl !Freeze for PingHandler
impl !RefUnwindSafe for PingHandler
impl Send for PingHandler
impl !Sync for PingHandler
impl Unpin for PingHandler
impl !UnwindSafe for PingHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoProtocolsHandler for Twhere
T: ProtocolsHandler,
impl<T> IntoProtocolsHandler for Twhere
T: ProtocolsHandler,
Source§fn into_handler(self, _: &PeerId, _: &ConnectedPoint) -> T
fn into_handler(self, _: &PeerId, _: &ConnectedPoint) -> T
Builds the protocols handler. Read more
Source§fn inbound_protocol(
&self,
) -> <<T as IntoProtocolsHandler>::Handler as ProtocolsHandler>::InboundProtocol
fn inbound_protocol( &self, ) -> <<T as IntoProtocolsHandler>::Handler as ProtocolsHandler>::InboundProtocol
Return the handler’s inbound protocol.
Source§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.Source§fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>where
Self: Sized,
fn into_node_handler_builder(self) -> NodeHandlerWrapperBuilder<Self>where
Self: Sized,
Creates a builder that will allow creating a
NodeHandler that handles this protocol
exclusively.