pub struct IntegrityCheckOk {
pub last_block_state: Option<BlockState>,
pub errors_corrected: usize,
pub data_contents: u64,
pub data_size_on_disk: u64,
pub num_blocks: usize,
pub file_len_checked: u64,
pub corrupted_segments: Vec<CorruptDataSegment>,
pub block_times: Vec<(u64, u64)>,
}Expand description
The struct returned when we were able to recover the file.
Includes statistics on the file and the last block state.
Fields§
§last_block_state: Option<BlockState>§errors_corrected: usizeNumber of errors we fixed and wrote back to the file Does not indicate number of bytes corrected To estimate: ECC_LEN/2 is number of correctable errors per 255 bytes So if we did not return Err::Corruption, there was always less than that many errors per ‘ecc chunk’.
data_contents: u64Number of bytes of ‘Content’ (without ECC data counted) in the file.
data_size_on_disk: u64Number of bytes of ‘Content’ in the compressed form (no ECC counted).
num_blocks: usizeNumber of Blocks in file
file_len_checked: u64This is the index up to which we checked It may be in the middle of a block
corrupted_segments: Vec<CorruptDataSegment>These are all the content data segments that are not ‘as written’ They can either be corrupted and have no ECC or they can be corrupted beyond what ECC can do.
block_times: Vec<(u64, u64)>Contains the block start position and the time stamp found there