[][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.

PingConfig

The configuration for outbound pings.

PingEvent

Event generated by the Ping network behaviour.

Enums

PingFailure

An outbound ping failure.

PingSuccess

The successful result of processing an inbound or outbound ping.

Type Definitions

PingResult

The result of an inbound or outbound ping.