pub struct ClusterTransportTuning {Show 18 fields
pub raft_tick_interval_ms: u64,
pub election_timeout_min_secs: u64,
pub election_timeout_max_secs: u64,
pub rpc_timeout_secs: u64,
pub quic_keep_alive_secs: u64,
pub quic_idle_timeout_secs: u64,
pub quic_max_bi_streams: u32,
pub quic_max_uni_streams: u32,
pub quic_receive_window: u32,
pub quic_send_window: u32,
pub quic_stream_receive_window: u32,
pub broadcast_threshold_bytes: usize,
pub ghost_sweep_interval_secs: u64,
pub health_ping_interval_secs: u64,
pub health_failure_threshold: u32,
pub descriptor_lease_duration_secs: u64,
pub descriptor_lease_renewal_check_interval_secs: u64,
pub descriptor_lease_renewal_threshold_pct: u8,
}Expand description
Cluster transport tuning for QUIC connections and Raft consensus.
Fields§
§raft_tick_interval_ms: u64§election_timeout_min_secs: u64§election_timeout_max_secs: u64§rpc_timeout_secs: u64§quic_keep_alive_secs: u64§quic_idle_timeout_secs: u64§quic_max_bi_streams: u32§quic_max_uni_streams: u32§quic_receive_window: u32§quic_send_window: u32§quic_stream_receive_window: u32§broadcast_threshold_bytes: usizeMaximum payload size for broadcast join strategy selection.
Above this threshold, shuffle join is preferred over broadcast.
See nodedb_cluster::distributed_join::select_strategy.
ghost_sweep_interval_secs: u64How often (in seconds) to sweep for dangling ghost nodes.
See nodedb_cluster::ghost_sweeper::DEFAULT_SWEEP_INTERVAL.
health_ping_interval_secs: u64Cluster health check ping interval in seconds.
See nodedb_cluster::health::DEFAULT_PING_INTERVAL.
health_failure_threshold: u32Consecutive ping failures before marking a node as down.
See nodedb_cluster::health::DEFAULT_FAILURE_THRESHOLD.
descriptor_lease_duration_secs: u64Default duration of a descriptor lease, in seconds.
Used by SharedState::acquire_descriptor_lease when the
caller does not specify an explicit duration. The renewal
loop re-acquires leases at 80% of this value.
descriptor_lease_renewal_check_interval_secs: u64How often the descriptor-lease renewal loop wakes up to look for near-expiry leases. Default: 60s. Tests override this with a much smaller value (e.g. 1s) to drive renewal within a multi-second test budget.
descriptor_lease_renewal_threshold_pct: u8Re-acquire leases when the remaining time (until expiry) falls below this percentage of the original duration. Default: 20 (re-acquire when 80% of the duration has elapsed). Tests can set this to 50 to make renewal trigger earlier in the lease lifecycle.
Trait Implementations§
Source§impl Clone for ClusterTransportTuning
impl Clone for ClusterTransportTuning
Source§fn clone(&self) -> ClusterTransportTuning
fn clone(&self) -> ClusterTransportTuning
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ClusterTransportTuning
impl Debug for ClusterTransportTuning
Source§impl Default for ClusterTransportTuning
impl Default for ClusterTransportTuning
Source§impl<'de> Deserialize<'de> for ClusterTransportTuning
impl<'de> Deserialize<'de> for ClusterTransportTuning
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 ClusterTransportTuning
impl RefUnwindSafe for ClusterTransportTuning
impl Send for ClusterTransportTuning
impl Sync for ClusterTransportTuning
impl Unpin for ClusterTransportTuning
impl UnsafeUnpin for ClusterTransportTuning
impl UnwindSafe for ClusterTransportTuning
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.