跳转至

tiny_orch.h 概览

tiny_orch.h 是 TinyOrch 的统一入口头文件,依赖 tiny_bench.h


核心数据结构

步骤 tiny_orch_step_t

typedef struct {
    char src_name[TINY_ORCH_NAME_LEN];   // 源数据槽名
    char tool_name[TINY_ORCH_NAME_LEN];  // 工具名
    char dst_name[TINY_ORCH_NAME_LEN];   // 目标数据槽名
    bool used;
} tiny_orch_step_t;

流程 tiny_orch_flow_t

typedef struct {
    char              name[TINY_ORCH_NAME_LEN];
    tiny_orch_state_t state;                         // 当前状态
    tiny_orch_step_t  steps[TINY_ORCH_MAX_STEPS_PER_FLOW];
    int               step_count;
    int               last_executed;                 // 上次执行完成的步数
    bool              used;
} tiny_orch_flow_t;

编排器 tiny_orch_t

typedef struct {
    tiny_bench_t      *bench;                           // 外部 bench 引用
    tiny_orch_flow_t   flows[TINY_ORCH_MAX_FLOWS];
} tiny_orch_t;

流程状态机

CREATED ──(add step)──→ DEFINED ──(go)──→ RUNNING ──(完成)──→ DONE
                                                    ──(错误)──→ ERROR
           ──(destroy)──→ (已删除)
typedef enum {
    TINY_ORCH_STATE_NONE    = 0,  // 未创建/已销毁
    TINY_ORCH_STATE_DEFINED = 1,  // 已创建,可添加步骤
    TINY_ORCH_STATE_DONE    = 2,  // 上次执行成功完成
    TINY_ORCH_STATE_ERROR   = 3,  // 上次执行出错
} tiny_orch_state_t;

API 速览

初始化

函数 作用
tiny_orch_init(orch, bench) 初始化编排器,绑定 TinyBench

流程定义

函数 作用 错误码
tiny_orch_create(orch, "flow") 创建命名流程 OK, FULL, EXISTS
tiny_orch_step(orch, "flow", idx, src, tool, dst) 添加/设置步骤 OK, SRC_NOT_FOUND, TOOL_NOT_FOUND, TYPE_MISMATCH
tiny_orch_step_count(orch, "flow") 查询步骤数 返回数量或负错误码
tiny_orch_list_flows(orch, names, max) 列出所有流程 返回数量
tiny_orch_destroy(orch, "flow") 删除流程 OK, NOT_FOUND

执行

函数 作用 错误码
tiny_orch_go(orch, "flow") 按序执行全部步骤 OK 或执行错误
tiny_orch_run(orch, src, tool, dst) 临时单步执行 OK 或执行错误

状态查询

函数 作用 错误码
tiny_orch_status(orch, "flow", &state) 查询流程状态 OK, NOT_FOUND

错误码

TINY_ORCH_OK                =  0
TINY_ORCH_ERR_NULL          = -1   // NULL 指针参数
TINY_ORCH_ERR_NOT_FOUND     = -2   // 流程名不存在
TINY_ORCH_ERR_FULL          = -3   // 已达最大流程数
TINY_ORCH_ERR_EXISTS        = -4   // 流程名已存在
TINY_ORCH_ERR_NAME_LEN      = -5   // 名称超长
TINY_ORCH_ERR_STEP_FULL     = -6   // 步骤数超限
TINY_ORCH_ERR_SRC_NOT_FOUND = -7   // 源数据槽不存在
TINY_ORCH_ERR_TOOL_NOT_FOUND= -8   // 工具未注册
TINY_ORCH_ERR_TYPE_MISMATCH = -9   // src 类型 ≠ tool 输入类型
TINY_ORCH_ERR_EXEC_FAILED   = -10  // 运行时执行失败

配置

默认值 说明
TINY_ORCH_MAX_FLOWS 4 最大命名流程数
TINY_ORCH_MAX_STEPS_PER_FLOW 16 每流程最大步骤数
TINY_ORCH_NAME_LEN 24 名称最大长度