pub enum BroadcastReason {
PreciseUnavailable(SelectionError),
PreciseDegradedUnusable {
staleness: StalenessMetadata,
error: SppError,
},
}Expand description
Why solve_with_fallback produced a fix from broadcast ephemeris.
A broadcast fix is never substituted silently: the result records whether the precise selection was declined outright, or a stale-but-within-cap precise product was selected and then turned out unusable for the requested epoch.
Variants§
The precise product staleness selection declined: there was no precise
product set, none covering or preceding the epoch, or the nearest product
was beyond the staleness cap. The selection layer’s SelectionError is
the exact reason.
PreciseDegradedUnusable
A stale (within-cap) precise product was selected, but it could not produce
a fix for the requested epoch – typically its coverage does not reach the
epoch (an SP3 nearest-prior product ends before it). This is the
“precise unavailable for this epoch” condition the fallback exists for, so
broadcast was used; the selected product’s staleness and the precise solve
error are carried so the degraded-then-fell-back path is explicit. A solve
failure on a product that DOES cover the epoch is a genuine error and is
returned as FallbackError::Precise instead, not turned into this.
Fields
staleness: StalenessMetadataStaleness of the degraded precise product that was tried.
Implementations§
Source§impl BroadcastReason
impl BroadcastReason
Sourcepub fn attempted_staleness(&self) -> Option<StalenessMetadata>
pub fn attempted_staleness(&self) -> Option<StalenessMetadata>
The precise selection’s staleness for the degraded-then-fell-back case, or
None when the precise selection was declined outright. This is the
staleness of the precise product that was not used; the broadcast fix
itself carries no precise staleness.
Trait Implementations§
Source§impl Clone for BroadcastReason
impl Clone for BroadcastReason
Source§fn clone(&self) -> BroadcastReason
fn clone(&self) -> BroadcastReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for BroadcastReason
impl RefUnwindSafe for BroadcastReason
impl Send for BroadcastReason
impl Sync for BroadcastReason
impl Unpin for BroadcastReason
impl UnsafeUnpin for BroadcastReason
impl UnwindSafe for BroadcastReason
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.