Revert "revert-revert-erasure and erasure fixes (#3833)" (#3855)

This reverts commit 6bef16a6a1.
This commit is contained in:
Pankaj Garg
2019-04-17 18:04:30 -07:00
committed by GitHub
parent 78d5ace754
commit 596f611ede
13 changed files with 784 additions and 702 deletions

View File

@@ -376,11 +376,7 @@ pub const BLOB_FLAG_IS_CODING: u32 = 0x1;
impl Blob {
pub fn new(data: &[u8]) -> Self {
let mut blob = Self::default();
assert!(data.len() <= blob.data.len());
let data_len = cmp::min(data.len(), blob.data.len());
let bytes = &data[..data_len];
blob.data[..data_len].copy_from_slice(bytes);
blob.meta.size = blob.data_size() as usize;
@@ -467,8 +463,8 @@ impl Blob {
LittleEndian::read_u64(&self.data[SIZE_RANGE])
}
pub fn set_data_size(&mut self, size: u64) {
LittleEndian::write_u64(&mut self.data[SIZE_RANGE], size);
pub fn set_data_size(&mut self, ix: u64) {
LittleEndian::write_u64(&mut self.data[SIZE_RANGE], ix);
}
pub fn data(&self) -> &[u8] {