tinyflow-api 0.1.1

Core traits, types, and abstractions for Tinyflow streaming framework
Documentation
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,
        }
    }
}