Skip to main content

runmat_execution/handle/
mod.rs

1use serde::{Deserialize, Serialize};
2
3use crate::identity::{ExecutionScopeId, FutureId, JobId, PoolId, RunId, TaskId};
4
5#[derive(Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
6pub struct OutputContract {
7    pub requested_outputs: u16,
8}
9
10#[derive(Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
11pub struct FutureHandle {
12    pub id: FutureId,
13    pub scope_id: ExecutionScopeId,
14    pub outputs: OutputContract,
15}
16
17#[derive(Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
18pub struct TaskHandle {
19    pub id: TaskId,
20    pub scope_id: ExecutionScopeId,
21    pub generation: u64,
22    pub outputs: OutputContract,
23}
24
25#[derive(Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
26pub struct PoolHandle {
27    pub id: PoolId,
28    pub scope_id: ExecutionScopeId,
29    pub generation: u64,
30}
31
32#[derive(Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
33pub struct JobHandle {
34    pub id: JobId,
35    pub run_id: RunId,
36    pub generation: u64,
37    pub outputs: OutputContract,
38}