pub struct NodeConfig {Show 25 fields
pub identity: IdentityConfig,
pub leaf_only: bool,
pub tick_interval_secs: u64,
pub base_rtt_ms: u64,
pub heartbeat_interval_secs: u64,
pub link_dead_timeout_secs: u64,
pub fast_link_dead_timeout_secs: u64,
pub limits: LimitsConfig,
pub rate_limit: RateLimitConfig,
pub retry: RetryConfig,
pub cache: CacheConfig,
pub discovery: DiscoveryConfig,
pub tree: TreeConfig,
pub routing: RoutingConfig,
pub bloom: BloomConfig,
pub session: SessionConfig,
pub buffers: BuffersConfig,
pub control: ControlConfig,
pub mmp: MmpConfig,
pub session_mmp: SessionMmpConfig,
pub ecn: EcnConfig,
pub rekey: RekeyConfig,
pub system_files_enabled: bool,
pub worker_pools_enabled: bool,
pub log_level: Option<String>,
}Expand description
Node configuration (node.*).
Fields§
§identity: IdentityConfigIdentity configuration (node.identity.*).
leaf_only: boolLeaf-only mode (node.leaf_only).
tick_interval_secs: u64RX loop maintenance tick period in seconds (node.tick_interval_secs).
base_rtt_ms: u64Initial RTT estimate for new links in ms (node.base_rtt_ms).
heartbeat_interval_secs: u64Link heartbeat send interval in seconds (node.heartbeat_interval_secs).
link_dead_timeout_secs: u64Link dead timeout in seconds (node.link_dead_timeout_secs).
Peers silent for this duration are removed.
fast_link_dead_timeout_secs: u64Accelerated link dead timeout in seconds, used in place of
link_dead_timeout_secs while a recent transport.send returned
a local-side errno (NetworkUnreachable / HostUnreachable /
AddrNotAvailable) — direct evidence our outbound path is broken
right now (interface vanished, default route flapped, etc.). No
reason to wait the full receive-silence window when the kernel
already told us we can’t send. Steady-state behavior is unchanged
because the signal is cleared on the next successful send.
(node.fast_link_dead_timeout_secs)
limits: LimitsConfigResource limits (node.limits.*).
rate_limit: RateLimitConfigRate limiting (node.rate_limit.*).
retry: RetryConfigRetry/backoff (node.retry.*).
cache: CacheConfigCache parameters (node.cache.*).
discovery: DiscoveryConfigDiscovery protocol (node.discovery.*).
tree: TreeConfigSpanning tree (node.tree.*).
routing: RoutingConfigRouting strategy (node.routing.*).
bloom: BloomConfigBloom filter (node.bloom.*).
session: SessionConfigSession/data plane (node.session.*).
buffers: BuffersConfigInternal buffers (node.buffers.*).
control: ControlConfigControl socket (node.control.*).
mmp: MmpConfigMetrics Measurement Protocol — link layer (node.mmp.*).
session_mmp: SessionMmpConfigMetrics Measurement Protocol — session layer (node.session_mmp.*).
ecn: EcnConfigECN congestion signaling (node.ecn.*).
rekey: RekeyConfigRekey / session rekeying (node.rekey.*).
system_files_enabled: boolEnable daemon-oriented system files such as /etc/fips/hosts and
/etc/fips/peers.{allow,deny}. Embedded endpoints disable this.
worker_pools_enabled: boolEnable off-task Unix encrypt/decrypt worker pools (node.worker_pools_enabled).
Embedded/mobile endpoints can disable this to keep crypto/send work inline
with the rx loop when platform extension sandboxes make OS-thread pools
unsuitable.
log_level: Option<String>Log level (node.log_level). Case-insensitive.
Valid values: trace, debug, info, warn, error. Default: info.
Implementations§
Trait Implementations§
Source§impl Clone for NodeConfig
impl Clone for NodeConfig
Source§fn clone(&self) -> NodeConfig
fn clone(&self) -> NodeConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NodeConfig
impl Debug for NodeConfig
Source§impl Default for NodeConfig
impl Default for NodeConfig
Source§impl<'de> Deserialize<'de> for NodeConfig
impl<'de> Deserialize<'de> for NodeConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for NodeConfig
impl RefUnwindSafe for NodeConfig
impl Send for NodeConfig
impl Sync for NodeConfig
impl Unpin for NodeConfig
impl UnsafeUnpin for NodeConfig
impl UnwindSafe for NodeConfig
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§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