Struct libp2p_identify::Config
source · #[non_exhaustive]pub struct Config {
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::Behaviour
.
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 Config
impl Config
sourcepub fn new(protocol_version: String, local_public_key: PublicKey) -> Self
pub fn new(protocol_version: String, local_public_key: PublicKey) -> Self
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) -> Self
pub fn with_agent_version(self, v: String) -> Self
Configures the agent version sent to peers.
sourcepub fn with_initial_delay(self, d: Duration) -> Self
pub fn with_initial_delay(self, d: Duration) -> Self
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) -> Self
pub fn with_interval(self, d: Duration) -> Self
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) -> Self
pub fn with_push_listen_addr_updates(self, b: bool) -> Self
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) -> Self
pub fn with_cache_size(self, cache_size: usize) -> Self
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
Behaviour::addresses_of_peer
.