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 Output
s and Input
s
for implementation examples see crate::BasicTracker
or crate::DynamicTracker
Required Methods§
sourcefn get_buffer_size(&self) -> &usize
fn get_buffer_size(&self) -> &usize
return the buffer size
sourcefn resize_buffers(&mut self, buffer_size: usize)
fn resize_buffers(&mut self, buffer_size: usize)
resize internal buffers
sourcefn create_source_id(&mut self) -> usize
fn create_source_id(&mut self) -> usize
Return a unique ID for keeping track of Source
es
sourcefn clear_source(&mut self, id: usize)
fn clear_source(&mut self, id: usize)
clear source id and associated buffers
sourcefn get_sources(&self, id: &usize) -> Vec<usize>
fn get_sources(&self, id: &usize) -> Vec<usize>
get all source ids required for a given source id
sourcefn get_mut_output(&mut self, output: &Output) -> Option<&mut Signal>
fn get_mut_output(&mut self, output: &Output) -> Option<&mut Signal>
get a mutable reference to an output’s Signal
sourcefn init_output(&mut self, output: &Output)
fn init_output(&mut self, output: &Output)
initialize empty Signal
for output
sourcefn init_input(&mut self, input: &Input)
fn init_input(&mut self, input: &Input)
initialize input for tracking outputs connected to it
sourcefn get_input(&self, e: &Input) -> Option<&[Output]>
fn get_input(&self, e: &Input) -> Option<&[Output]>
return a reference to a list of outputs for a given input
sourcefn clear_connection(&mut self, output: &Output, input: &Input)
fn clear_connection(&mut self, output: &Output, input: &Input)
sourcefn send_message(&mut self, id: &usize, message: Message<MessageData>)
fn send_message(&mut self, id: &usize, message: Message<MessageData>)
send message to source id
sourcefn get_messages(&self, id: &usize) -> Option<&[Message<MessageData>]>
fn get_messages(&self, id: &usize) -> Option<&[Message<MessageData>]>
get all messages for given source id
sourcefn clear_messages(&mut self)
fn clear_messages(&mut self)
clear all messages for all sources