#[non_exhaustive]pub enum FailureClass {
Retry {
attempt: u32,
kind: FailureKind,
},
GiveUp,
NotYetAvailable {
retry_at_us: u64,
},
Expired,
SegmentSkipped,
EndTail,
}Expand description
What the caller does after a failure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Retry
Back off (the adapter owns the arithmetic, Retry-After included) and
call super::DashClient::retry. attempt is the 1-based count of
consecutive failures of this resource.
GiveUp
The failure count reached the configured cap: the presentation has
ended with an super::Output::Fatal.
NotYetAvailable
A live segment requested before it exists (a 425, or a 404/410
inside the early-grace window): not counted. The client asks for it
again from super::DashClient::poll at retry_at_us; the caller
does nothing.
Expired
A live segment that left the time-shift window before it was fetched:
not counted and not retried. The client continues at the oldest
segment still available and marks the gap with a Discontinuity.
SegmentSkipped
A live segment given up on after the configured number of consecutive
failures: super::Output::SegmentLost and a Discontinuity follow.
EndTail
The resource is the missing tail of a Period (DESIGN section 5.5 and the multi-period decision in the crate README): nothing to retry, nothing counted, playback continues.