pub struct CompiledGraphEngine<T: Transcendental, const BUF_SIZE: usize> { /* private fields */ }Expand description
Graph execution engine running a CompiledGraph.
Implementations§
Source§impl<T: Transcendental, const BUF_SIZE: usize> CompiledGraphEngine<T, BUF_SIZE>
impl<T: Transcendental, const BUF_SIZE: usize> CompiledGraphEngine<T, BUF_SIZE>
Sourcepub fn new(
graph: CompiledGraph<T, BUF_SIZE>,
mailbox: Arc<Mailbox<CommandEnum>>,
) -> Self
pub fn new( graph: CompiledGraph<T, BUF_SIZE>, mailbox: Arc<Mailbox<CommandEnum>>, ) -> Self
Create a new graph engine from a compiled graph and a shared mailbox.
Sourcepub fn handle(&self) -> ActorRef<CommandEnum>
pub fn handle(&self) -> ActorRef<CommandEnum>
Returns the actor handle for sending control commands to the engine.
Sourcepub fn param_map(&self) -> HashMap<String, usize>
pub fn param_map(&self) -> HashMap<String, usize>
Returns the merged parameter map for all nodes in the engine.
The map is the first node’s mapping, which covers all parameters for single-node engines. For multi-node graphs, this returns the first node’s map only.
Sourcepub fn apply_due_params(&mut self, chunk_end: u64)
pub fn apply_due_params(&mut self, chunk_end: u64)
Apply pending parameter updates that are due by chunk_end.
Preserves sample-accurate scheduling: params with sample_pos >= chunk_end
are deferred to the next tick.
Sourcepub fn process_tick(
&mut self,
inputs: &[&[T]],
outputs: &mut [&mut [T]],
chunk_end: u64,
) -> ProcessResult<()>
pub fn process_tick( &mut self, inputs: &[&[T]], outputs: &mut [&mut [T]], chunk_end: u64, ) -> ProcessResult<()>
Main processing tick — applies pending params, copies inputs, runs nodes, copies outputs.
Trait Implementations§
Source§impl<T: Transcendental, const BUF_SIZE: usize> Algorithm<T> for CompiledGraphEngine<T, BUF_SIZE>
impl<T: Transcendental, const BUF_SIZE: usize> Algorithm<T> for CompiledGraphEngine<T, BUF_SIZE>
Source§fn process(
&mut self,
input: Option<&[T]>,
output: &mut [T],
) -> ProcessResult<()>
fn process( &mut self, input: Option<&[T]>, output: &mut [T], ) -> ProcessResult<()>
Process one block of signal. Read more
Source§fn apply_command(&mut self, _value: T)
fn apply_command(&mut self, _value: T)
Receive a real-time command value from the control path. Read more
Source§fn metadata(&self) -> AlgorithmMetadata
fn metadata(&self) -> AlgorithmMetadata
Descriptive metadata (defaults to empty).
Source§impl<T: Transcendental, const BUF_SIZE: usize> MultichannelAlgorithm<T> for CompiledGraphEngine<T, BUF_SIZE>
impl<T: Transcendental, const BUF_SIZE: usize> MultichannelAlgorithm<T> for CompiledGraphEngine<T, BUF_SIZE>
Auto Trait Implementations§
impl<T, const BUF_SIZE: usize> !RefUnwindSafe for CompiledGraphEngine<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> !UnwindSafe for CompiledGraphEngine<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Freeze for CompiledGraphEngine<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Send for CompiledGraphEngine<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Sync for CompiledGraphEngine<T, BUF_SIZE>
impl<T, const BUF_SIZE: usize> Unpin for CompiledGraphEngine<T, BUF_SIZE>where
T: Unpin,
impl<T, const BUF_SIZE: usize> UnsafeUnpin for CompiledGraphEngine<T, BUF_SIZE>
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
Mutably borrows from an owned value. Read more