Trait HostCtx
Source pub trait HostCtx {
Show 15 methods
// Required methods
fn memory(&self) -> SharedMemory;
fn module(&self) -> Module;
fn interface(&self) -> SimulatorInterface;
fn lcd(&self) -> Arc<Mutex<Lcd>>;
fn lcd_lock<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = MutexGuard<'_, Lcd>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn mutexes(&self) -> Arc<Mutex<MutexPool>>;
fn mutexes_lock<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = MutexGuard<'_, MutexPool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn tasks(&self) -> Arc<Mutex<TaskPool>>;
fn tasks_lock<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = MutexGuard<'_, TaskPool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn start_time(&self) -> Instant;
fn current_task<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TaskHandle> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn controllers(&self) -> Arc<Mutex<Controllers>>;
fn controllers_lock<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = MutexGuard<'_, Controllers>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn competition_phase(&self) -> Arc<Mutex<CompetitionPhase>>;
fn competition_phase_lock<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = MutexGuard<'_, CompetitionPhase>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}