Skip to main content

Module compiled_subgraph

Module compiled_subgraph 

Source
Expand description

CompiledSubgraph — 编译后的 Subgraph 描述符。

§设计理念

Builder 阶段:
  SubgraphSpec<Outer, Inner, M, Lens>  (强类型)

编译阶段:
  CompiledSubgraph<Outer>  (类型擦除 Inner/Lens/M)

Engine 执行:
  match node.kind {
      NodeKind::Subgraph(spec) => self.execute_subgraph(spec).await,
  }

§类型擦除

SubgraphSpec 有 4 个泛型参数,NodeKind 只有 2 个。 CompiledSubgraph 通过 StateProjector trait 擦除 Inner/Lens/M, 只保留 Outer(外层 State 类型)。

§与 SubgraphSpec 的区别

  • SubgraphSpec:Builder 阶段,强类型,包含 Graph + Lens
  • CompiledSubgraph:编译后,类型擦除,可存入 NodeKind

Structs§

CompiledSubgraph
编译后的 Subgraph 描述符 — 可存入 NodeKind。

Traits§

StateProjector
状态投影器 — 类型擦除的 Outer → Inner 投影 + 执行。