Enum MidFade Policy
pub enum MidFadePolicy {
Refuse,
QueueOne,
LatestWins,
}Expand description
What happens to a proposal while a fade is in progress.
Variants§
Refuse
A proposal that reaches the audio side while a transition is in progress is
returned unused (ReturnReason::Refused) at a block boundary; the running
fade is unaffected. If the returned queue is full at that boundary, the
proposal stays in the handoff marked refused (retirement_blocked) and is
returned as soon as a slot frees, even after the fade; it never starts.
QueueOne
Queue depth 1: the proposal stays in the one-slot handoff until the fade
completes and starts at the following block boundary. Further offers are
refused with TransitionOfferFailure::Full and stay with the caller.
LatestWins
Latest wins: during a transition the audio side moves each new proposal
into one waiting slot, returning any older waiting proposal unused
(ReturnReason::Superseded). At the first block boundary after the fade,
a proposal still in the handoff supersedes the waiting one, and the newest
proposal starts. Superseding needs a free returned slot; otherwise the
boundary reports retirement_blocked and nothing starts (the stale waiting
proposal is never started in place of a newer one).
Trait Implementations§
§impl Clone for MidFadePolicy
impl Clone for MidFadePolicy
§fn clone(&self) -> MidFadePolicy
fn clone(&self) -> MidFadePolicy
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more