libp2p-ping 0.16.0

Ping protocol for libp2p

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.


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.