pub struct PackPlan {
pub root_name: String,
pub file_count: usize,
pub dir_count: usize,
pub link_count: usize,
pub skipped: Vec<SkippedEntry>,
pub total_size: u64,
/* private fields */
}Expand description
流式打包的计划:遍历一遍目录,只取大小,不读内容。
pack_folder 把所有文件内容拼进一个内存载荷,几十 GB 的文件夹在手机上
根本加密不了。流式打包分三步:plan_folder 定下条目与偏移(索引长度从此
确定,只差逐文件哈希)→ PackPlan::reader 按同样的顺序把文件内容串成
一条 Read 流,边读边算哈希 → PackPlan::finish 填入哈希得到真索引。
配合 crate::file::encrypt_stream 的定稿回调使用。
Fields§
§root_name: String容器根名。
file_count: usize普通文件数。
dir_count: usize目录数。
link_count: usize符号链接数。
skipped: Vec<SkippedEntry>跳过的条目。
total_size: u64所有文件内容的总字节数(即容器载荷的明文长度)。
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Forget for PackPlan
impl Freeze for PackPlan
impl RefUnwindSafe for PackPlan
impl Send for PackPlan
impl Sync for PackPlan
impl Unpin for PackPlan
impl UnsafeUnpin for PackPlan
impl UnwindSafe for PackPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more