pub struct Controller<ExtIn: Clone, ExtOut: Clone, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> { /* private fields */ }Implementations§
Source§impl<ExtIn: 'static + Send + Sync + Clone, ExtOut: 'static + Send + Sync + Clone, SCfg: 'static + Send + Sync, ChannelId: 'static + Debug + Clone + Copy + Hash + PartialEq + Eq + Send + Sync, Event: 'static + Send + Sync + Clone, const INNER_BUS_STACK: usize> Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>
impl<ExtIn: 'static + Send + Sync + Clone, ExtOut: 'static + Send + Sync + Clone, SCfg: 'static + Send + Sync, ChannelId: 'static + Debug + Clone + Copy + Hash + PartialEq + Eq + Send + Sync, Event: 'static + Send + Sync + Clone, const INNER_BUS_STACK: usize> Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>
pub fn add_worker<Owner: Debug + Clone + Copy + PartialEq, ICfg: 'static + Send + Sync, Inner: WorkerInner<Owner, ExtIn, ExtOut, ChannelId, Event, ICfg, SCfg>, B: Backend<Owner>>( &mut self, tick: Duration, cfg: ICfg, stack_size: Option<usize>, )
pub fn process(&mut self) -> Option<()>
pub fn spawn(&mut self, cfg: SCfg)
pub fn shutdown(&mut self)
pub fn send_to(&mut self, worker: u16, ext: ExtIn)
pub fn send_to_best(&mut self, ext: ExtIn)
pub fn pop_event(&mut self) -> Option<ExtOut>
Trait Implementations§
Auto Trait Implementations§
impl<ExtIn, ExtOut, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> !RefUnwindSafe for Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>
impl<ExtIn, ExtOut, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> !UnwindSafe for Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>
impl<ExtIn, ExtOut, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> Freeze for Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>where
BusSystemBuilder<ChannelId, Event, INNER_BUS_STACK>: Freeze,
BusSystemBuilder<u16, WorkerControlIn<ExtIn, SCfg>, INNER_BUS_STACK>: Freeze,
BusSystemBuilder<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Freeze,
BusWorker<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Freeze,
DynamicDeque<ExtOut, 16>: Freeze,
impl<ExtIn, ExtOut, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> Send for Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>where
BusSystemBuilder<ChannelId, Event, INNER_BUS_STACK>: Send,
BusSystemBuilder<u16, WorkerControlIn<ExtIn, SCfg>, INNER_BUS_STACK>: Send,
BusSystemBuilder<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Send,
BusWorker<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Send,
DynamicDeque<ExtOut, 16>: Send,
impl<ExtIn, ExtOut, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> Sync for Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>where
BusSystemBuilder<ChannelId, Event, INNER_BUS_STACK>: Sync,
BusSystemBuilder<u16, WorkerControlIn<ExtIn, SCfg>, INNER_BUS_STACK>: Sync,
BusSystemBuilder<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Sync,
BusWorker<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Sync,
DynamicDeque<ExtOut, 16>: Sync,
impl<ExtIn, ExtOut, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> Unpin for Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>where
BusSystemBuilder<ChannelId, Event, INNER_BUS_STACK>: Unpin,
BusSystemBuilder<u16, WorkerControlIn<ExtIn, SCfg>, INNER_BUS_STACK>: Unpin,
BusSystemBuilder<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Unpin,
BusWorker<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: Unpin,
DynamicDeque<ExtOut, 16>: Unpin,
impl<ExtIn, ExtOut, SCfg, ChannelId, Event, const INNER_BUS_STACK: usize> UnsafeUnpin for Controller<ExtIn, ExtOut, SCfg, ChannelId, Event, INNER_BUS_STACK>where
BusSystemBuilder<ChannelId, Event, INNER_BUS_STACK>: UnsafeUnpin,
BusSystemBuilder<u16, WorkerControlIn<ExtIn, SCfg>, INNER_BUS_STACK>: UnsafeUnpin,
BusSystemBuilder<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: UnsafeUnpin,
BusWorker<u16, WorkerControlOut<ExtOut, SCfg>, INNER_BUS_STACK>: UnsafeUnpin,
DynamicDeque<ExtOut, 16>: UnsafeUnpin,
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