pub struct ClientConfig {
pub quote_timeout_secs: u64,
pub store_timeout_secs: u64,
pub merkle_store_timeout_secs: u64,
pub chunk_get_timeout_secs: u64,
pub close_group_size: usize,
pub quote_concurrency: usize,
pub store_concurrency: usize,
pub adaptive: AdaptiveConfig,
pub allow_loopback: bool,
pub ipv6: bool,
}Expand description
Configuration for the Autonomi client.
Fields§
§quote_timeout_secs: u64Per-op timeout for lightweight network operations (quotes, DHT lookups), in seconds. The adaptive controller does NOT currently size timeouts; this remains a static knob.
store_timeout_secs: u64Per-op timeout, in seconds, for the chunk GET response path
(chunk_get_from_peer) and any other caller that reads this
field directly.
Note despite the historical name store_timeout_secs: this
knob does not govern the non-merkle chunk PUT response
timeout (that path uses the STORE_RESPONSE_TIMEOUT constant
in chunk.rs) and does not govern the merkle batch PUT
timeout (see merkle_store_timeout_secs). Rename pending in
Mick’s PR #78 which adds a dedicated chunk_get_timeout_secs.
The adaptive controller does NOT currently size timeouts; this remains a static knob.
merkle_store_timeout_secs: u64Per-op timeout for merkle batch chunk store (PUT)
operations, in seconds. Separate from store_timeout_secs
because merkle PUTs incur the storer-side
CLOSENESS_LOOKUP_TIMEOUT (240 s post-PR #89) on top of the
usual store path; the client must wait at least that long
plus padding, or the storer wastes work on a chunk the client
has already given up on. Default 270 s.
chunk_get_timeout_secs: u64Per-peer response timeout for chunk GET operations, in seconds.
This is intentionally independent from store_timeout_secs: PUTs
and GETs have different payload direction and performance profiles.
close_group_size: usizeNumber of closest peers to consider for routing.
quote_concurrency: usizeDeprecated. Pre-adaptive ceiling for quote concurrency.
The adaptive controller now sizes quote fan-out from observed signals. This field, when non-zero and smaller than the controller’s per-channel default, clamps the quote channel only (it does NOT bleed into store or fetch). Removed in a future release.
store_concurrency: usizeDeprecated. Pre-adaptive ceiling for store concurrency.
The adaptive controller now sizes store fan-out from observed signals. This field, when non-zero and smaller than the controller’s per-channel default, clamps the store channel only (it does NOT bleed into quote or fetch). Removed in a future release.
adaptive: AdaptiveConfigAdaptive controller configuration. Defaults are tuned to match
or exceed the prior static behavior — disabling adaptation
(adaptive.enabled = false) reverts to the controller’s
initial values without re-evaluation.
allow_loopback: boolAllow loopback (127.0.0.1) connections in the saorsa-transport
layer. Set to true only for devnet / local testing. Production
peers on the public Autonomi network reject the QUIC handshake
variant produced when this is true, so the default is false.
This mirrors the --allow-loopback flag in ant-cli, which already
defaults to false and threads through to the same
CoreNodeConfig::builder().local(...) call.
ipv6: boolBind a dual-stack IPv6 socket (true) or an IPv4-only socket
(false). Defaults to true, matching the CLI default.
Set to false only when running on hosts without a working IPv6
stack, to avoid advertising unreachable v6 addresses to the DHT
(which causes slow connects and junk DHT address records). This
mirrors the --ipv4-only flag in ant-cli.
Trait Implementations§
Source§impl Clone for ClientConfig
impl Clone for ClientConfig
Source§fn clone(&self) -> ClientConfig
fn clone(&self) -> ClientConfig
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 ClientConfig
impl Debug for ClientConfig
Auto Trait Implementations§
impl Freeze for ClientConfig
impl RefUnwindSafe for ClientConfig
impl Send for ClientConfig
impl Sync for ClientConfig
impl Unpin for ClientConfig
impl UnsafeUnpin for ClientConfig
impl UnwindSafe for ClientConfig
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