FFI 服务清单
动态库 ↔ crate ↔ Dart 封装
Section titled “动态库 ↔ crate ↔ Dart 封装”| 动态库 | Rust crate | Dart 封装(lib/services/) |
职责 |
|---|---|---|---|
xmc_backup.dll |
backup |
backup_ffi.dart |
ZIP 并行压缩 / 解压 |
xmc_downloader.dll |
downloader |
downloader.dart(Downloader.downloadFile) |
流式 / 分片下载、断点续传 |
xmc_http_client.dll |
http_client |
http_ffi.dart(HttpFfiService) |
通用 HTTP 请求、embedding 调用 |
xmc_file_ops.dll |
file_ops |
file_ops_ffi.dart |
文件扫描、移动、回收站 |
xmc_logger.dll |
logger |
logger_ffi.dart |
日志 |
xmc_db_client.dll |
db_client |
db_client_ffi.dart(DbClientFfi) |
远程数据库(统一 db_request 入口) |
xmc_vector_store.dll |
vector_store |
knowledge 相关服务 | 向量存取与相似检索 |
| 能力 | 唯一业务入口 |
|---|---|
| 远程数据库操作 | remote_db_service.dart(经 DbClientFfi) |
| 知识库(RAG) | knowledge_service.dart(组装 embedding 请求并传入向量) |
| 大文件下载 | Downloader.downloadFile |
- 动态库文件名为 Windows 风格(
.dll);Linux 为xmc_*.so,macOS 为xmc_*.dylib - 所有 Rust 导出函数通过
package:ffi在 Dart 侧绑定 - 编译与复制流程见 Rust FFI 与编译
