pub struct DirectSubmitConfig {Show 14 fields
pub per_target_timeout: Duration,
pub global_timeout: Duration,
pub direct_target_rounds: usize,
pub direct_submit_attempts: usize,
pub hybrid_direct_attempts: usize,
pub rebroadcast_interval: Duration,
pub agave_rebroadcast_enabled: bool,
pub agave_rebroadcast_window: Duration,
pub agave_rebroadcast_interval: Duration,
pub hybrid_rpc_broadcast: bool,
pub latency_aware_targeting: bool,
pub latency_probe_timeout: Duration,
pub latency_probe_port: Option<u16>,
pub latency_probe_max_targets: usize,
}Expand description
Direct submit tuning.
Fields§
§per_target_timeout: DurationPer-target send timeout.
global_timeout: DurationGlobal send budget for one submission.
direct_target_rounds: usizeNumber of rounds to iterate across selected direct targets.
direct_submit_attempts: usizeNumber of direct-only submit attempts (target selection can refresh per attempt).
hybrid_direct_attempts: usizeNumber of direct submit attempts in Hybrid mode before RPC fallback.
rebroadcast_interval: DurationDelay between direct rebroadcast attempts/rounds (Agave-like pacing).
agave_rebroadcast_enabled: boolEnables Agave-style post-ack rebroadcast persistence for direct submits.
agave_rebroadcast_window: DurationMaximum time budget for background rebroadcast persistence.
agave_rebroadcast_interval: DurationDelay between background rebroadcast cycles.
hybrid_rpc_broadcast: boolWhen true, Hybrid mode broadcasts to RPC even after direct send succeeds.
latency_aware_targeting: boolEnables latency-aware ordering of direct targets before submit.
latency_probe_timeout: DurationTimeout used for per-target TCP latency probes.
latency_probe_port: Option<u16>Optional extra TCP port to probe (in addition to target TPU port).
latency_probe_max_targets: usizeMax number of targets to probe per submission.
Implementations§
Source§impl DirectSubmitConfig
impl DirectSubmitConfig
Sourcepub const fn from_reliability(reliability: SubmitReliability) -> Self
pub const fn from_reliability(reliability: SubmitReliability) -> Self
Builds a direct-submit config from a reliability profile.
Sourcepub const fn normalized(self) -> Self
pub const fn normalized(self) -> Self
Returns this config with minimum valid retry counters.
Trait Implementations§
Source§impl Clone for DirectSubmitConfig
impl Clone for DirectSubmitConfig
Source§fn clone(&self) -> DirectSubmitConfig
fn clone(&self) -> DirectSubmitConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DirectSubmitConfig
impl Debug for DirectSubmitConfig
Source§impl Default for DirectSubmitConfig
impl Default for DirectSubmitConfig
Source§impl PartialEq for DirectSubmitConfig
impl PartialEq for DirectSubmitConfig
impl Eq for DirectSubmitConfig
impl StructuralPartialEq for DirectSubmitConfig
Auto Trait Implementations§
impl Freeze for DirectSubmitConfig
impl RefUnwindSafe for DirectSubmitConfig
impl Send for DirectSubmitConfig
impl Sync for DirectSubmitConfig
impl Unpin for DirectSubmitConfig
impl UnsafeUnpin for DirectSubmitConfig
impl UnwindSafe for DirectSubmitConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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