运行时
Provider 包管理(FreeSql 分包模式)+ 本机环境自检 + 版本查询。打开会话时若对应包未装,Session::open 内部会调一次 ensure(无进度);想看进度或离线安装,请先自己调 runtime::ensure(幂等)。
| 类别 | 属性 | 类型 | 访问 | 说明 |
|---|---|---|---|---|
| 版本 | version | u32 | 函数 | 打包版本 major*65536 + minor*256 + patch。线程安全,不会失败 |
version_string | &'static str | 函数 | 形如 "1.0.0+runtime" 的静态字符串。禁止释放。客户机必须看到 +runtime | |
version_major | u32 | 函数 | 拆打包版本的 major | |
| runtime | runtime::ensure | Result<(), Error> | 函数 | 确保 Provider / profile 已装;没装就探测→选包→下载→校验→解压登记。幂等、进程内互斥、事务性 |
runtime::cancel | () | 函数 | 请求取消当前在飞的 ensure。可从任意线程调;进度回调内部禁止 | |
| diagnostics | diagnostics::collect | Result<String, Error> | 函数 | 本机环境诊断 JSON(去敏)。耗时可到数百毫秒,禁止放进 PLC 扫描周期 |
diagnostics::collect_json | Result<Value, Error> | 函数 | 同 collect,feature json 下解析为 serde_json::Value |
Windows 无 RKNN
edge-rknn永远不会出现在 Windows 安装列表。- 在 Windows 上指名
edge-rknn→Error::UnsupportedPlatform。 - Windows / linux-x64 收到 rknn 载荷 →
Error::UnsupportedPayload。 - rknn 只在 linux-arm64 板端运行时(RK3588 +
edge-rknn+librknnrt)。
SDK 不代装系统驱动。NVIDIA 驱动过旧、RK3588 板镜像缺 NPU 驱动这类要管理员权限 / 重启 / 板厂镜像的依赖,只诊断不代劳(fail-closed + diagnostics::collect 给出原因)。