Basic error correction working, but slow
This commit is contained in:
parent
6ba7045301
commit
4113a997d6
2 changed files with 1 additions and 8 deletions
|
@ -4,7 +4,7 @@ use anyhow::*;
|
||||||
use reed_solomon::Encoder;
|
use reed_solomon::Encoder;
|
||||||
use reed_solomon::{Buffer, Decoder};
|
use reed_solomon::{Buffer, Decoder};
|
||||||
|
|
||||||
const BLOCK_SIZE: usize = 256;
|
const BLOCK_SIZE: usize = 64;
|
||||||
const ECC_LENGTH: usize = 8;
|
const ECC_LENGTH: usize = 8;
|
||||||
|
|
||||||
// TODO: make the API streaming friendly
|
// TODO: make the API streaming friendly
|
||||||
|
@ -18,15 +18,12 @@ pub fn encode(bytes: &[u8]) -> Result<Vec<u8>> {
|
||||||
|
|
||||||
let mut result = vec![];
|
let mut result = vec![];
|
||||||
|
|
||||||
dbg!(encoded_blocks.len());
|
|
||||||
for buffer in encoded_blocks {
|
for buffer in encoded_blocks {
|
||||||
dbg!(buffer.bytes().count());
|
|
||||||
for byte in buffer.bytes() {
|
for byte in buffer.bytes() {
|
||||||
result.push(byte?);
|
result.push(byte?);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dbg!(result.len());
|
|
||||||
Ok(result)
|
Ok(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,15 +36,12 @@ pub fn decode(bytes: &[u8]) -> Result<Vec<u8>> {
|
||||||
|
|
||||||
let mut result = vec![];
|
let mut result = vec![];
|
||||||
|
|
||||||
dbg!(decoded_blocks.len());
|
|
||||||
for buffer in decoded_blocks {
|
for buffer in decoded_blocks {
|
||||||
dbg!(buffer.bytes().count());
|
|
||||||
for byte in buffer.data() {
|
for byte in buffer.data() {
|
||||||
result.push(byte.clone());
|
result.push(byte.clone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dbg!(result.len());
|
|
||||||
Ok(result)
|
Ok(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@ mod must {
|
||||||
source.write_text_to_file("second", "some contents").unwrap();
|
source.write_text_to_file("second", "some contents").unwrap();
|
||||||
source.write_text_to_file("third", "some other contents").unwrap();
|
source.write_text_to_file("third", "some other contents").unwrap();
|
||||||
|
|
||||||
dbg!("setup done");
|
|
||||||
assert_same_after_restore(source.path())
|
assert_same_after_restore(source.path())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue