pub enum ScheduleJitterResolution {
Agreed(Option<String>),
Disagreed {
candidates: Vec<String>,
},
}Expand description
The outcome of resolve_schedule_jitter — the fan-out jitter resolution
WITH the ambiguity signal effective_schedule_jitter throws away.
effective_schedule_jitter collapses a disagreement to None, which is
indistinguishable from “everyone agreed there is no jitter” — so a caller that
wants to warn an operator about the disagreement cannot see it. This enum is
the resolver’s real return type; the Option-returning function delegates to
it for the callers that genuinely don’t care. Exhaustive match at the call
site is what makes “we resolved to no jitter” and “we gave up on disagreeing
defaults” two decisions instead of one.
Variants§
Agreed(Option<String>)
Every candidate agreed (or own won outright, or there was nothing to
inherit): this is the effective window, None meaning no jitter.
Disagreed
Matched policies’ repositories set differing scheduleDefaults.jitter
values, so no window can be chosen unambiguously — the effective window is
None (no jitter) and the caller should warn, recommending an explicit
spec.schedule.jitter.
Trait Implementations§
Source§impl Clone for ScheduleJitterResolution
impl Clone for ScheduleJitterResolution
Source§fn clone(&self) -> ScheduleJitterResolution
fn clone(&self) -> ScheduleJitterResolution
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 ScheduleJitterResolution
impl Debug for ScheduleJitterResolution
impl Eq for ScheduleJitterResolution
Source§impl PartialEq for ScheduleJitterResolution
impl PartialEq for ScheduleJitterResolution
Source§fn eq(&self, other: &ScheduleJitterResolution) -> bool
fn eq(&self, other: &ScheduleJitterResolution) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ScheduleJitterResolution
Auto Trait Implementations§
impl Freeze for ScheduleJitterResolution
impl RefUnwindSafe for ScheduleJitterResolution
impl Send for ScheduleJitterResolution
impl Sync for ScheduleJitterResolution
impl Unpin for ScheduleJitterResolution
impl UnsafeUnpin for ScheduleJitterResolution
impl UnwindSafe for ScheduleJitterResolution
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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