Trait Producer
para
pub trait Producer<'a>: Sized + Send { type Data: Send; type Consumer: Consumer<'a, Self::Data>; fn get_next_product(&mut self) -> Option<Self::Data>; fn consumer(&self) -> &'a Self::Consumer; fn add_to_scheduler(&'a mut self, scheduler: &Scheduler<'a>) { ... } fn produce(&'a mut self, scheduler: &Scheduler<'a>) { ... } }
type Data: Send
type Consumer: Consumer<'a, Self::Data>
fn get_next_product(&mut self) -> Option<Self::Data>
fn consumer(&self) -> &'a Self::Consumer
fn add_to_scheduler(&'a mut self, scheduler: &Scheduler<'a>)
fn produce(&'a mut self, scheduler: &Scheduler<'a>)