Skip to main content

Module runtime

Module runtime 

Source
Expand description

运行时装配:工厂表(ui 工厂注册)、宿主观察线程(关窗→close_all)、 进程主入口(eframe 主线程 + 宿主观察线程)、启动阶段机(0.9.5)。

线程形貌(S1b 双线程纪律):

  • 主线程:eframe run_native(App 只读 UiShared);
  • 观察线程:sleep 轮询 UiShared::is_stop → engine.close_all;
  • 等价 headless 形貌见 ek-station bin(不带 ui 工厂)。

阶段机(0.9.5,用户裁定「先配置组件、运行后才出主界面;运行后装配只可看」; 0.9.10 收口:装配并入「启动运行」一钮,参数面/档案包/导出清单连功能铲去):

  • Setup:只画组件配置面(勾选表格 + 「启动运行」一钮),主界面不画;
  • Running:主界面(render_body)登场;装配面转只读(锁旗在界面层,底层零写死);
  • 锁只在启动全成功后置位(有壳没起来 = 不锁,运维面留修路);
  • launcher 路 auto_boot = true = 装配+启动在开窗前走完(ready 标记协议不破)。

Structs§

RunOpts
运行选项(S1c ready 标记 + S4 dm real_time 装配参数;ek-ui 零配置口径, 无任何配置文件输入 —— 结构只由 StationConfig 清单决定)。
StageApp
启动阶段机 App(桌面 = ekapp 与 ek-ui 主程序共用的唯一窗口面; 0.9.5 收编:原 ekapp bin 自带的 DesktopApp 副本已删,单源在此)。

Enums§

Stage
阶段机两相(0.9.5)。

Functions§

run_desktop
桌面产品入口(ekapp 无参数路,0.9.5 起单源在此):从配置相起步 —— 开窗不装配不启动(用户裁定「先配置组件、运行后才出主界面」); 观察线程在开窗即挂(Setup 关窗也走 close_all 收尾,U-S3b 口径)。
run_station_ui
进程主入口:装配(dm/oms/ctp/ui 按清单)→ start → 就绪标记(可选) → eframe 主循环 → 观察线程收场。
spawn_host_watcher
宿主观察线程:窗口不复用的引擎在这里按 stop 位收场(close_all join)。
ui_kinds
ek-station 缺省工厂表(dm/oms/ctp;0.1.12 起 sim 已退场)+ ui 工厂 + rt-on 的 dm 工厂(S4:UI 宿主观测面需要 eBarUpdate. 实时门; ek-station headless 保持 rt-off 缺省不动 —— 两宿主的 dm 配置差异在各自 工厂表,互不影响)。