runmat_execution/handle/
mod.rs1use 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}