pub fn pack_folder(
root: &Path,
progress: Option<ProgressFn<'_>>,
) -> Result<PackedFolder>Expand description
把 root 目录打包成容器载荷。
§内存
载荷是整个目录的内容拼接,会全部读进内存。这与 core 其他部分 按块处理的风格不一致,但容器格式本身要求先知道每个文件的区间才能 写索引,而区间要等前面所有文件都读完才确定。
调用方应对大目录做预检——ContainerIndex 里有
crate::container::RECOMMENDED_MAX_ENTRIES 可参考。
§Errors
- 根路径不是目录
- 索引构建失败(路径组件非法等,由
ContainerBuilder校验)
单个文件读不出来不算错误,会记进 skipped 继续——
一个打不开的文件不该让整个目录加密失败。