Skip to main content

Processable

Trait Processable 

Source
pub trait Processable<T: Transcendental, const BUF_SIZE: usize> {
    // Required method
    fn process_block(&mut self, ctx: &RenderContext) -> ProcessResult<()>;
}
Expand description

A node or component that can process a block of signal data.

This is the main execution trait for the signal graph. Each node type (Source, Processor, Router, Sink) implements this via blanket impls that delegate to their respective generate/process/route/consume.

Required Methods§

Source

fn process_block(&mut self, ctx: &RenderContext) -> ProcessResult<()>

Process one block of signal samples.

§Arguments
  • ctxRenderContext with sample clock, transport state, and hardware clock correction.
§Errors

Returns a ProcessError if processing fails.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T, const BUF_SIZE: usize> Processable<T, BUF_SIZE> for Box<dyn Processor<T, BUF_SIZE>>
where T: Transcendental,

Source§

impl<T, const BUF_SIZE: usize> Processable<T, BUF_SIZE> for Box<dyn Router<T, BUF_SIZE>>
where T: Transcendental,

Source§

impl<T, const BUF_SIZE: usize> Processable<T, BUF_SIZE> for Box<dyn Sink<T, BUF_SIZE>>
where T: Transcendental,

Source§

impl<T, const BUF_SIZE: usize> Processable<T, BUF_SIZE> for Box<dyn Source<T, BUF_SIZE>>
where T: Transcendental,

Implementors§

Source§

impl<T: Transcendental, const BUF_SIZE: usize> Processable<T, BUF_SIZE> for NodeVariant<T, BUF_SIZE>