跳到主要内容

运行时

Provider 包管理(FreeSql 分包模式)+ 本机环境自检 + 版本查询。打开会话时若对应包未装,Session::open 内部会调一次 ensure(无进度);想看进度或离线安装,请先自己调 runtime::ensure(幂等)。

提示
  • 版本与诊断见 API
  • ensure / cancelensure
  • 错误码见 错误
类别属性类型访问说明
版本versionu32函数打包版本 major*65536 + minor*256 + patch。线程安全,不会失败
version_string&'static str函数形如 "1.0.0+runtime" 的静态字符串。禁止释放。客户机必须看到 +runtime
version_majoru32函数拆打包版本的 major
runtimeruntime::ensureResult<(), Error>函数确保 Provider / profile 已装;没装就探测→选包→下载→校验→解压登记。幂等、进程内互斥、事务性
runtime::cancel()函数请求取消当前在飞的 ensure。可从任意线程调;进度回调内部禁止
diagnosticsdiagnostics::collectResult<String, Error>函数本机环境诊断 JSON(去敏)。耗时可到数百毫秒,禁止放进 PLC 扫描周期
diagnostics::collect_jsonResult<Value, Error>函数同 collect,feature json 下解析为 serde_json::Value
Windows 无 RKNN
  • edge-rknn 永远不会出现在 Windows 安装列表。
  • 在 Windows 上指名 edge-rknnError::UnsupportedPlatform
  • Windows / linux-x64 收到 rknn 载荷 → Error::UnsupportedPayload
  • rknn 只在 linux-arm64 板端运行时(RK3588 + edge-rknn + librknnrt)。

SDK 不代装系统驱动。NVIDIA 驱动过旧、RK3588 板镜像缺 NPU 驱动这类要管理员权限 / 重启 / 板厂镜像的依赖,只诊断不代劳(fail-closed + diagnostics::collect 给出原因)。