23fd1c158e6a36f7f2b30416d3a8e9b4c87026c5
Employ Tilde requirements due to update strategy employed by serde crate possibly having breaking changes at the patch level. Patch 217 is fully functional without fault. It is also the only version tested at present. Patch 218 just revises documentation, so is functionally identical to patch 217.
= kramer :toc: // Hello people reading the README source :) == Prelude VERY EARLY ALPHA -- NOT YET FUNCTIONAL I needed a program to efficiently repair the data on optical discs. == Goals * [*] CLI Args ** [*] Input device ** [*] Output file (ISO 9660) ** [*] Repair map file ** [*] sequence_length ** [*] brute_passes ** [*] Sector size override? * Repair Algorithm ** Stage 1: Trial *** [ ] 1 - From first sector, parse forward to error. *** [ ] 2 - From last sector, parse backwards to error. *** [ ] 3 - From center of data for trial, parse forward to error or end of remaining trial domain. *** [ ] 4 - Stripe-skip remaining data, attempting to read largest trial domains first. **** [ ] If data keeps reading good, no skip will occur until an error is reached. ** Stage 2: Isolation *** [ ] From largest to smallest untrustworthy sequence, attempt to read each sequence at half sequence_length. *** [ ] Same, but at quarter sequence_length. *** [ ] Same, but at eighth sequence_length. *** [ ] By sector, parse untrustworthy sequences from start to error, and end to error. Mark mid section for brute force. ** Stage 3: Brute Force *** [ ] Desperately attempt to recover data from marked sections. *** [ ] Attempt for brute_passes, retrying all failed sectors. * [ ] Repair Map ** [ ] I'll figure out some kind of language for this... == License
Languages
Rust
100%