logo
pub struct Ping;
Expand description

The Ping protocol upgrade.

The ping protocol sends 32 bytes of random data in configurable intervals over a single outbound substream, expecting to receive the same bytes as a response. At the same time, incoming pings on inbound substreams are answered by sending back the received bytes.

At most a single inbound and outbound substream is kept open at any time. In case of a ping timeout or another error on a substream, the substream is dropped. If a configurable number of consecutive outbound pings fail, the connection is closed.

Successful pings report the round-trip time.

Note: The round-trip time of a ping may be subject to delays induced by the underlying transport, e.g. in the case of TCP there is Nagle’s algorithm, delayed acks and similar configuration options which can affect latencies especially on otherwise low-volume connections.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Output after the upgrade has been successfully negotiated and the handshake performed.

Possible error during the handshake.

Future that performs the handshake with the remote.

After we have determined that the remote supports one of the protocols we support, this method is called to start the handshake. Read more

Output after the upgrade has been successfully negotiated and the handshake performed.

Possible error during the handshake.

Future that performs the handshake with the remote.

After we have determined that the remote supports one of the protocols we support, this method is called to start the handshake. Read more

Opaque type representing a negotiable protocol.

Iterator returned by protocol_info.

Returns the list of protocols that are supported. Used during the negotiation process.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Returns a new object that wraps around Self and applies a closure to the Output.

Returns a new object that wraps around Self and applies a closure to the Error.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Returns a new object that wraps around Self and applies a closure to the Output.

Returns a new object that wraps around Self and applies a closure to the Error.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.