#[non_exhaustive]pub struct KitsuneP2pTuningParams {Show 18 fields
pub gossip_strategy: String,
pub gossip_loop_iteration_delay_ms: u32,
pub gossip_output_target_mbps: f64,
pub gossip_peer_on_success_next_gossip_delay_ms: u32,
pub gossip_peer_on_error_next_gossip_delay_ms: u32,
pub default_rpc_single_timeout_ms: u32,
pub default_rpc_multi_remote_agent_count: u32,
pub default_rpc_multi_timeout_ms: u32,
pub agent_info_expires_after_ms: u32,
pub tls_in_mem_session_storage: u32,
pub proxy_keepalive_ms: u32,
pub proxy_to_expire_ms: u32,
pub concurrent_limit_per_thread: usize,
pub tx2_quic_max_idle_timeout_ms: u32,
pub tx2_pool_max_connection_count: usize,
pub tx2_channel_count_per_connection: usize,
pub tx2_implicit_timeout_ms: u32,
pub tx2_initial_connect_retry_delay_ms: usize,
}
Expand description
Network tuning parameters. This is serialized carefully so all the values can be represented as strings in YAML - and we will be able to proceed with a printed warning for tuning params that are removed, but still specified in configs.
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.gossip_strategy: String
Gossip strategy to use. [Default: simple-bloom]
gossip_loop_iteration_delay_ms: u32
Delay between gossip loop iteration. [Default: 1s]
gossip_output_target_mbps: f64
The gossip loop will attempt to rate-limit output to this count mega bits per second. [Default: 0.5]
gossip_peer_on_success_next_gossip_delay_ms: u32
How long should we hold off talking to a peer we’ve previously spoken successfully to. [Default: 1 minute]
gossip_peer_on_error_next_gossip_delay_ms: u32
How long should we hold off talking to a peer we’ve previously gotten errors speaking to. [Default: 5 minute]
default_rpc_single_timeout_ms: u32
Default timeout for rpc single. [Default: 30s]
default_rpc_multi_remote_agent_count: u32
Default agent count for rpc multi. [Default: 2]
default_rpc_multi_timeout_ms: u32
Default timeout for rpc multi. [Default: 30s]
agent_info_expires_after_ms: u32
Default agent expires after milliseconds. [Default: 20 minutes]
tls_in_mem_session_storage: u32
Tls in-memory session storage capacity. [Default: 512]
proxy_keepalive_ms: u32
How often should NAT nodes refresh their proxy contract? [Default: 2 minutes]
proxy_to_expire_ms: u32
How often should proxy nodes prune their ProxyTo list? Note - to function this should be > proxy_keepalive_ms. [Default: 5 minutes]
concurrent_limit_per_thread: usize
Mainly used as the for_each_concurrent limit, this restricts the number of active polled futures on a single thread. [Default: 4096]
tx2_quic_max_idle_timeout_ms: u32
tx2 quic max_idle_timeout [Default: 30 seconds]
tx2_pool_max_connection_count: usize
tx2 pool max connection count [Default: 4096]
tx2_channel_count_per_connection: usize
tx2 channel count per connection [Default: 16]
tx2_implicit_timeout_ms: u32
tx2 timeout used for passive background operations like reads / responds. [Default: 30 seconds]
tx2_initial_connect_retry_delay_ms: usize
tx2 initial connect retry delay (note, this delay is currenty exponentially backed off– multiplied by 2x on every loop) [Default: 200 ms]
Implementations
sourceimpl KitsuneP2pTuningParams
impl KitsuneP2pTuningParams
sourcepub fn implicit_timeout(&self) -> KitsuneTimeout
pub fn implicit_timeout(&self) -> KitsuneTimeout
Generate a KitsuneTimeout instance based on the tuning parameter tx2_implicit_timeout_ms
Trait Implementations
sourceimpl Clone for KitsuneP2pTuningParams
impl Clone for KitsuneP2pTuningParams
sourcefn clone(&self) -> KitsuneP2pTuningParams
fn clone(&self) -> KitsuneP2pTuningParams
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
sourceimpl Debug for KitsuneP2pTuningParams
impl Debug for KitsuneP2pTuningParams
sourceimpl Default for KitsuneP2pTuningParams
impl Default for KitsuneP2pTuningParams
sourceimpl<'de> Deserialize<'de> for KitsuneP2pTuningParams
impl<'de> Deserialize<'de> for KitsuneP2pTuningParams
sourcefn 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>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl PartialEq<KitsuneP2pTuningParams> for KitsuneP2pTuningParams
impl PartialEq<KitsuneP2pTuningParams> for KitsuneP2pTuningParams
sourcefn eq(&self, other: &KitsuneP2pTuningParams) -> bool
fn eq(&self, other: &KitsuneP2pTuningParams) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &KitsuneP2pTuningParams) -> bool
fn ne(&self, other: &KitsuneP2pTuningParams) -> bool
This method tests for !=
.
sourceimpl Serialize for KitsuneP2pTuningParams
impl Serialize for KitsuneP2pTuningParams
impl StructuralPartialEq for KitsuneP2pTuningParams
Auto Trait Implementations
impl RefUnwindSafe for KitsuneP2pTuningParams
impl Send for KitsuneP2pTuningParams
impl Sync for KitsuneP2pTuningParams
impl Unpin for KitsuneP2pTuningParams
impl UnwindSafe for KitsuneP2pTuningParams
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> FutureExt for T
impl<T> FutureExt for T
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be 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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub 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>,
pub 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