Trait screech::traits::Tracker

source ·
pub trait Tracker<MessageData = ()> {
Show 15 methods // Required methods fn get_buffer_size(&self) -> &usize; fn resize_buffers(&mut self, buffer_size: usize); fn create_source_id(&mut self) -> usize; fn clear_source(&mut self, id: usize); fn get_sources(&self, id: &usize) -> Vec<usize>; fn get_output(&self, output: &Output) -> Option<&Signal>; fn get_mut_output(&mut self, output: &Output) -> Option<&mut Signal>; fn init_output(&mut self, output: &Output); fn init_input(&mut self, input: &Input); fn get_input(&self, e: &Input) -> Option<&[Output]>; fn connect_signal(&mut self, output: &Output, input: &Input); fn clear_connection(&mut self, output: &Output, input: &Input); fn send_message(&mut self, id: &usize, message: Message<MessageData>); fn get_messages(&self, id: &usize) -> Option<&[Message<MessageData>]>; fn clear_messages(&mut self);
}
Expand description

Tracker trait to keep track of buffers and connections between Outputs and Inputs

for implementation examples see crate::BasicTracker or crate::DynamicTracker

Required Methods§

source

fn get_buffer_size(&self) -> &usize

return the buffer size

source

fn resize_buffers(&mut self, buffer_size: usize)

resize internal buffers

source

fn create_source_id(&mut self) -> usize

Return a unique ID for keeping track of Sourcees

source

fn clear_source(&mut self, id: usize)

clear source id and associated buffers

source

fn get_sources(&self, id: &usize) -> Vec<usize>

get all source ids required for a given source id

source

fn get_output(&self, output: &Output) -> Option<&Signal>

get a reference to an output’s Signal

source

fn get_mut_output(&mut self, output: &Output) -> Option<&mut Signal>

get a mutable reference to an output’s Signal

source

fn init_output(&mut self, output: &Output)

initialize empty Signal for output

source

fn init_input(&mut self, input: &Input)

initialize input for tracking outputs connected to it

source

fn get_input(&self, e: &Input) -> Option<&[Output]>

return a reference to a list of outputs for a given input

source

fn connect_signal(&mut self, output: &Output, input: &Input)

connect an Output to an Input

source

fn clear_connection(&mut self, output: &Output, input: &Input)

clear Output connection from an Input

source

fn send_message(&mut self, id: &usize, message: Message<MessageData>)

send message to source id

source

fn get_messages(&self, id: &usize) -> Option<&[Message<MessageData>]>

get all messages for given source id

source

fn clear_messages(&mut self)

clear all messages for all sources

Implementors§

source§

impl<T> Tracker<T> for DynamicTracker<T>

source§

impl<const SOURCES_SIZE: usize, T> Tracker<T> for BasicTracker<SOURCES_SIZE, T>