use std::sync::Arc;
use crate::state::StateStore;
pub struct RuntimeContext {
pub task_id: u32,
pub task_name: String,
pub subtask_index: u32,
pub parallelism: u32,
pub chain_id: u64,
pub job_state: Arc<dyn StateStore>,
pub chain_state: Option<Arc<dyn StateStore>>,
}
impl RuntimeContext {
pub fn new(
task_id: u32,
task_name: impl Into<String>,
subtask_index: u32,
parallelism: u32,
chain_id: u64,
job_state: Arc<dyn StateStore>,
chain_state: Option<Arc<dyn StateStore>>,
) -> Self {
Self {
task_id,
task_name: task_name.into(),
subtask_index,
parallelism,
chain_id,
job_state,
chain_state,
}
}
}