AUDIO
Source snapshot · 12 October 2026

API reference / ravet_graph::ConvolutionTransitionControl

Struct ConvolutionTransitionControl 

pub struct ConvolutionTransitionControl<E: TransitionEngine> { /* private fields */ }
Expand description

Unique control/worker endpoint. Prepare engines, offer them, and take or drop returned engines here, never on the audio thread. Send when the engine is.

Implementations§

§

impl<E: TransitionEngine> ConvolutionTransitionControl<E>

pub fn offer(&mut self, engine: Box<E>) -> Result<u64, TransitionOfferError<E>>

Offer an already-prepared engine. Channel count, maximum frames and (under LatencyPolicy::RequireEqual) latency are checked here; a refused engine is returned unchanged. Success returns the proposal’s sequence (1, 2, …). The engine should have fresh history; it is not reset on handoff. Under AlignmentPolicy::DelayLower the latency difference is checked by the audio endpoint at the start boundary instead, against the engine current at that time. Ok means “queued in the handoff”, not “will play”: a queued proposal can later be refused or superseded, and if the audio endpoint is dropped after the abandonment check it is freed with the queue.

pub fn has_pending(&self) -> bool

Whether the one-slot handoff currently holds an untaken proposal.

pub fn take_returned(&mut self) -> Option<ReturnedEngine<E>>

Take one returned engine for disposal, or for reuse after calling the engine’s own reset (retired engines keep their history).

pub fn reclaim(&mut self) -> usize

Drop up to TRANSITION_RETURN_CAPACITY returned engines on this thread.

pub fn take_report(&mut self) -> Option<TransitionReport>

Take one audio-side report.

pub fn options(&self) -> TransitionOptions

Fixed configuration.

Trait Implementations§

§

impl<E: TransitionEngine> Debug for ConvolutionTransitionControl<E>

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.