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
initial_delay
is no longer necessary and will be
completely removed since a remote should be able to instantly
answer to an identify requestThe initial delay before the first identification request is sent to a remote on a newly established connection.
Defaults to 0ms.
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
👎Deprecated: The initial_delay
is no longer necessary and will be
completely removed since a remote should be able to instantly
answer to an identify request thus also this setter will be removed
pub fn with_initial_delay(self, d: Duration) -> Self
initial_delay
is no longer necessary and will be
completely removed since a remote should be able to instantly
answer to an identify request thus also this setter will be removedConfigures 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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more