Struct libp2p::identify::IdentifyConfig
source · #[non_exhaustive]pub struct IdentifyConfig {
pub protocol_version: String,
pub local_public_key: PublicKey,
pub agent_version: String,
pub initial_delay: Duration,
pub interval: Duration,
pub push_listen_addr_updates: bool,
pub cache_size: usize,
}
Expand description
Configuration for the Identify
NetworkBehaviour
.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.protocol_version: String
Application-specific version of the protocol family used by the peer,
e.g. ipfs/1.0.0
or polkadot/1.0.0
.
local_public_key: PublicKey
The public key of the local node. To report on the wire.
agent_version: String
Name and version of the local peer implementation, similar to the
User-Agent
header in the HTTP protocol.
Defaults to rust-libp2p/<libp2p-identify-version>
.
initial_delay: Duration
The initial delay before the first identification request is sent to a remote on a newly established connection.
Defaults to 500ms.
interval: Duration
The interval at which identification requests are sent to the remote on established connections after the first request, i.e. the delay between identification requests.
Defaults to 5 minutes.
push_listen_addr_updates: bool
Whether new or expired listen addresses of the local node should trigger an active push of an identify message to all connected peers.
Enabling this option can result in connected peers being informed earlier about new or expired listen addresses of the local node, i.e. before the next periodic identify request with each peer.
Disabled by default.
cache_size: usize
How many entries of discovered peers to keep before we discard the least-recently used one.
Disabled by default.
Implementations§
source§impl IdentifyConfig
impl IdentifyConfig
sourcepub fn new(
protocol_version: String,
local_public_key: PublicKey
) -> IdentifyConfig
pub fn new(
protocol_version: String,
local_public_key: PublicKey
) -> IdentifyConfig
Creates a new configuration for the Identify
behaviour that
advertises the given protocol version and public key.
sourcepub fn with_agent_version(self, v: String) -> IdentifyConfig
pub fn with_agent_version(self, v: String) -> IdentifyConfig
Configures the agent version sent to peers.
sourcepub fn with_initial_delay(self, d: Duration) -> IdentifyConfig
pub fn with_initial_delay(self, d: Duration) -> IdentifyConfig
Configures the initial delay before the first identification request is sent on a newly established connection to a peer.
sourcepub fn with_interval(self, d: Duration) -> IdentifyConfig
pub fn with_interval(self, d: Duration) -> IdentifyConfig
Configures the interval at which identification requests are sent to peers after the initial request.
sourcepub fn with_push_listen_addr_updates(self, b: bool) -> IdentifyConfig
pub fn with_push_listen_addr_updates(self, b: bool) -> IdentifyConfig
Configures whether new or expired listen addresses of the local node should trigger an active push of an identify message to all connected peers.
sourcepub fn with_cache_size(self, cache_size: usize) -> IdentifyConfig
pub fn with_cache_size(self, cache_size: usize) -> IdentifyConfig
Configures the size of the LRU cache, caching addresses of discovered peers.
The Swarm
may extend the set of addresses of an outgoing connection attempt via
Identify::addresses_of_peer
.
Trait Implementations§
source§impl Clone for IdentifyConfig
impl Clone for IdentifyConfig
source§fn clone(&self) -> IdentifyConfig
fn clone(&self) -> IdentifyConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more