pub struct RekeyReport {
pub changed: usize,
pub dirs_renamed: usize,
pub root: PathBuf,
pub failed: Vec<(PathBuf, String)>,
pub payload_rewritten: bool,
pub bytes_rewritten: u64,
}Expand description
批量改密码的结果。
Fields§
§changed: usize成功改写的文件数。
dirs_renamed: usize重新加密了名字的目录数(含根目录)。
root: PathBuf改密码后这棵树的根路径。
根目录名会变:它由 KEK 派生的密钥加密,换密码就得换名字。调用方 必须用这个值,原来手里的路径已经失效——不返回的话,GUI 刷新列表时 会指向一个不存在的目录,表现为「改完密码文件夹不见了」。
failed: Vec<(PathBuf, String)>失败的:(路径, 原因)。
逐个记而不是只留一个总的错误码:一棵树里可能只有个别文件出问题 (被别的程序占用、权限不对、单个文件损坏),用户需要知道是哪些 才能去处理,而其余文件已经改好了。
payload_rewritten: bool是否换掉了文件密钥(轮换)。
bytes_rewritten: u64轮换时重写的明文总字节数。非轮换恒为 0。
Implementations§
Source§impl RekeyReport
impl RekeyReport
Sourcepub const fn is_complete(&self) -> bool
pub const fn is_complete(&self) -> bool
是否整棵树都改成功了。
Trait Implementations§
Source§impl Debug for RekeyReport
impl Debug for RekeyReport
Auto Trait Implementations§
impl Forget for RekeyReport
impl Freeze for RekeyReport
impl RefUnwindSafe for RekeyReport
impl Send for RekeyReport
impl Sync for RekeyReport
impl Unpin for RekeyReport
impl UnsafeUnpin for RekeyReport
impl UnwindSafe for RekeyReport
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