Struct Config
#[non_exhaustive]pub struct Config {
pub protocol_version: String,
pub local_public_key: PublicKey,
pub agent_version: String,
pub interval: Duration,
pub push_listen_addr_updates: bool,
pub cache_size: usize,
pub hide_listen_addrs: bool,
}
identify
only.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>
.
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.
hide_listen_addrs: bool
Whether to include our listen addresses in our responses. If enabled, we will effectively only share our external addresses.
Disabled by default.
Implementations§
§impl Config
impl Config
pub fn new(protocol_version: String, local_public_key: PublicKey) -> Config
pub fn new(protocol_version: String, local_public_key: PublicKey) -> Config
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) -> Config
pub fn with_agent_version(self, v: String) -> Config
Configures the agent version sent to peers.
pub fn with_interval(self, d: Duration) -> Config
pub fn with_interval(self, d: Duration) -> Config
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) -> Config
pub fn with_push_listen_addr_updates(self, b: bool) -> Config
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) -> Config
pub fn with_cache_size(self, cache_size: usize) -> Config
Configures the size of the LRU cache, caching addresses of discovered peers.
pub fn with_hide_listen_addrs(self, b: bool) -> Config
pub fn with_hide_listen_addrs(self, b: bool) -> Config
Configures whether we prevent sending out our listen addresses.
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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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