Lines Matching refs:waitable
132 pub fn pack(self, waitable: Option<u32>) -> u32 { in pack()
133 assert!(matches!(self, Status::Returned) == waitable.is_none()); in pack()
134 let waitable = waitable.unwrap_or(0); in pack() localVariable
135 assert!(waitable < (1 << 28)); in pack()
136 (waitable << 4) | (self as u32) in pack()
828 let (event, waitable) = in handle_guest_call()
836 let handle = waitable.map(|(_, v)| v).unwrap_or(0); in handle_guest_call()
1877 fn wait_for_event(&mut self, waitable: Waitable) -> Result<()> { in wait_for_event()
1880 let old_set = waitable.common(state)?.set; in wait_for_event()
1882 waitable.join(state, Some(set))?; in wait_for_event()
1889 waitable.join(state, old_set) in wait_for_event()
1919 let waitable = match state.get_mut(set)?.ready.pop_first() { in get_event() localVariable
1924 let common = waitable.common(state)?; in get_event()
1938 waitable.on_delivery(store, self, event)?; in get_event()
1940 Ok(Some((event, Some((waitable, handle))))) in get_event()
2086 for waitable in mem::take(&mut state.get_mut(sync_call_set)?.ready) { in cleanup_thread()
2089 }) = waitable.common(state)?.event in cleanup_thread()
2091 waitable.delete_from(state)?; in cleanup_thread()
2707 let (status, waitable) = loop { in start_call()
2781 Ok(status.pack(waitable)) in start_call()
3081 let waitable = in waitable_join() localVariable
3098 waitable.join(store.concurrent_state_mut(), set) in waitable_join()
3119 let (waitable, expected_caller, delete) = if is_host { in subtask_drop()
3147 waitable.common(concurrent_state)?.handle = None; in subtask_drop()
3151 if waitable.take_event(concurrent_state)?.is_some() { in subtask_drop()
3156 waitable.delete_from(concurrent_state)?; in subtask_drop()
3521 let (event, waitable) = match event { in waitable_check()
3525 let handle = waitable.map(|(_, v)| v).unwrap_or(0); in waitable_check()
3530 if let Some((event, waitable)) = event { in waitable_check()
3531 let handle = waitable.map(|(_, v)| v).unwrap_or(0); in waitable_check()
3578 let (waitable, expected_caller) = if is_host { in subtask_cancel()
3601 if let Waitable::Host(host_task) = waitable { in subtask_cancel()
3730 store.wait_for_event(waitable)?; in subtask_cancel()
3735 let event = waitable.take_event(store.concurrent_state_mut())?; in subtask_cancel()
4626 waitable: u32, in from_instance()
4630 let (waitable, kind) = state.instance_states().0[caller_instance] in from_instance()
4632 .waitable_rep(waitable)?; in from_instance()
4635 Waitable::Subtask { is_host: true } => Self::Host(TableId::new(waitable)), in from_instance()
4636 Waitable::Subtask { is_host: false } => Self::Guest(TableId::new(waitable)), in from_instance()
4637 Waitable::Stream | Waitable::Future => Self::Transmit(TableId::new(waitable)), in from_instance()