pub enum LivePricingDefect {
Stale {
age_secs: u64,
max_age_secs: u64,
},
EndpointMismatch {
row_fingerprint: String,
route_fingerprint: String,
},
MissingEndpointFingerprint,
MissingTimestamp,
UnknownRouteEndpoint,
}Expand description
Why a ProviderLive pricing row cannot be treated as authoritative.
Each variant is a non-secret receipt: fingerprints are FNV digests of a
normalized base URL (see crate::catalog::base_url_fingerprint), never the
URL itself, so these can be logged and serialized freely.
Variants§
Stale
The row is older than the caller’s freshness window.
EndpointMismatch
The row was fetched from a different endpoint than the turn was served on, so it prices a different billing surface.
MissingEndpointFingerprint
The row claims live provenance but carries no endpoint fingerprint, so it cannot be matched to the route that is being priced.
MissingTimestamp
The row claims live provenance but carries no fetch timestamp, so its age cannot be established.
UnknownRouteEndpoint
The caller could not establish which endpoint the turn was served on, so a live row cannot be confirmed to price that route.
Implementations§
Trait Implementations§
Source§impl Clone for LivePricingDefect
impl Clone for LivePricingDefect
Source§fn clone(&self) -> LivePricingDefect
fn clone(&self) -> LivePricingDefect
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 LivePricingDefect
impl Debug for LivePricingDefect
Source§impl<'de> Deserialize<'de> for LivePricingDefect
impl<'de> Deserialize<'de> for LivePricingDefect
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>,
impl Eq for LivePricingDefect
Source§impl PartialEq for LivePricingDefect
impl PartialEq for LivePricingDefect
Source§impl Serialize for LivePricingDefect
impl Serialize for LivePricingDefect
impl StructuralPartialEq for LivePricingDefect
Auto Trait Implementations§
impl Freeze for LivePricingDefect
impl RefUnwindSafe for LivePricingDefect
impl Send for LivePricingDefect
impl Sync for LivePricingDefect
impl Unpin for LivePricingDefect
impl UnsafeUnpin for LivePricingDefect
impl UnwindSafe for LivePricingDefect
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.