[][src]Module libp2p::ping

This module implements the /ipfs/ping/1.0.0 protocol.

The ping protocol can be used as a simple application-layer health check for connections of any Transport as well as to measure and record round-trip times.

Usage

The [Ping] struct implements the [NetworkBehaviour] trait. When used with a Swarm, it will respond to inbound ping requests and as necessary periodically send outbound ping requests on every established connection. If a configurable number of pings fail, the connection will be closed.

The Ping network behaviour produces [PingEvent]s, which may be consumed from the Swarm by an application, e.g. to collect statistics.

Note: The ping protocol does not keep otherwise idle connections alive, it only adds an additional condition for terminating the connection, namely a certain number of failed ping requests.

Modules

handler
protocol

Structs

Ping

Ping is a [NetworkBehaviour] that responds to inbound pings and periodically sends outbound pings on every established connection.

PingEvent

Event generated by the Ping network behaviour.