use std::sync::Arc; use std::time::Duration; use crate::asm::data::literal::Value; use crate::runtime::program::Program; use crate::runtime::run_thread::ThreadToken; use crate::module::{CrsnExtension, CrsnUniq}; #[derive(Debug)] pub struct ThreadInfo { /// Thread ID pub id: ThreadToken, /// Initializer, used to generate unique IDs pub(crate) uniq: Arc, /// Program to run pub program: Arc, /// Program to run pub(crate) cycle_time: Duration, /// Extensions pub extensions: Arc>>, } impl ThreadInfo { pub fn unique_handle(&self) -> Value { self.uniq.unique_handle() } }