Struct ipfs_embed::config::IdentifyConfig
[−]#[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
impl IdentifyConfig
impl IdentifyConfig
pub 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.
pub fn with_agent_version(self, v: String) -> IdentifyConfig
pub fn with_agent_version(self, v: String) -> IdentifyConfig
Configures the agent version sent to peers.
pub 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.
pub 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.
pub 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.
pub 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
impl Clone for IdentifyConfig
impl Clone for IdentifyConfig
fn clone(&self) -> IdentifyConfig
fn clone(&self) -> IdentifyConfig
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl RefUnwindSafe for IdentifyConfig
impl Send for IdentifyConfig
impl Sync for IdentifyConfig
impl Unpin for IdentifyConfig
impl UnwindSafe for IdentifyConfig
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more