use std::collections::HashMap;
use apalis_core::task::task_id::TaskId;
use petgraph::graph::NodeIndex;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub enum DagExecutionResponse<Compact, IdType> {
EntryFanOut {
node_task_ids: HashMap<NodeIndex, TaskId<IdType>>,
},
FanOut {
response: Compact,
node_task_ids: HashMap<NodeIndex, TaskId<IdType>>,
},
EnqueuedNext {
result: Compact,
},
WaitingForDependencies {
pending_dependencies: HashMap<NodeIndex, TaskId<IdType>>,
},
Complete {
result: Compact,
},
}