pub enum AdaptivePolicy {
Off,
On {
fraction: f64,
ceiling: usize,
},
}Expand description
Whether (and how) a transfer adaptively tunes its concurrency / byte-rate.
This is the config-level policy carried by TransferConfig (distinct
from crate::adaptive::AdaptivePolicy, which is the controller’s
always-on tuning view). Off — the default — selects the historical fixed
concurrency + fixed max_bytes_per_sec path, byte-for-byte unchanged.
On selects the adaptive path, which sizes the in-flight window to
ceiling and lets a live controller drive the effective concurrency in
[1, ceiling] and the byte-rate from in-band per-op feedback. Adaptive
only changes scheduling/rate: the exact bytes/objects transferred and
the resulting snapshot are identical to the Off path.
Variants§
Off
Fixed concurrency + fixed rate (the default; historical behavior).
On
Adaptive concurrency + rate, bounded by ceiling, aiming for
fraction × discovered-knee.
Trait Implementations§
Source§impl Clone for AdaptivePolicy
impl Clone for AdaptivePolicy
Source§fn clone(&self) -> AdaptivePolicy
fn clone(&self) -> AdaptivePolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for AdaptivePolicy
Source§impl Debug for AdaptivePolicy
impl Debug for AdaptivePolicy
Source§impl Default for AdaptivePolicy
impl Default for AdaptivePolicy
Source§fn default() -> AdaptivePolicy
fn default() -> AdaptivePolicy
Source§impl PartialEq for AdaptivePolicy
impl PartialEq for AdaptivePolicy
Source§fn eq(&self, other: &AdaptivePolicy) -> bool
fn eq(&self, other: &AdaptivePolicy) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for AdaptivePolicy
Auto Trait Implementations§
impl Freeze for AdaptivePolicy
impl RefUnwindSafe for AdaptivePolicy
impl Send for AdaptivePolicy
impl Sync for AdaptivePolicy
impl Unpin for AdaptivePolicy
impl UnsafeUnpin for AdaptivePolicy
impl UnwindSafe for AdaptivePolicy
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request