diff options
author | Alex Auvolat <alex@adnab.me> | 2021-03-10 16:21:56 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2021-03-10 16:21:56 +0100 |
commit | f319a7d3740ba8b83c9c0eae27edfda1c1d14c03 (patch) | |
tree | efde4606ad33dcf5ad357f82553ad3b07d4a9858 /src/api/s3_get.rs | |
parent | 6a3dcf39740cda27e61b93582b6fea66991ec4f2 (diff) | |
download | garage-f319a7d3740ba8b83c9c0eae27edfda1c1d14c03.tar.gz garage-f319a7d3740ba8b83c9c0eae27edfda1c1d14c03.zip |
Refactor model stuff, including cleaner CRDTs
Diffstat (limited to 'src/api/s3_get.rs')
-rw-r--r-- | src/api/s3_get.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/api/s3_get.rs b/src/api/s3_get.rs index 68e7c66a..22a55b55 100644 --- a/src/api/s3_get.rs +++ b/src/api/s3_get.rs @@ -146,9 +146,10 @@ pub async fn handle_get( let version = version.ok_or(Error::NotFound)?; let mut blocks = version - .blocks() + .blocks + .items() .iter() - .map(|vb| (vb.hash, None)) + .map(|(_, vb)| (vb.hash, None)) .collect::<Vec<_>>(); blocks[0].1 = Some(first_block); @@ -219,11 +220,12 @@ pub async fn handle_get_range( // file (whereas block.offset designates the offset of the block WITHIN THE PART // block.part_number, which is not the same in the case of a multipart upload) let mut blocks = Vec::with_capacity(std::cmp::min( - version.blocks().len(), - 4 + ((end - begin) / std::cmp::max(version.blocks()[0].size as u64, 1024)) as usize, + version.blocks.len(), + 4 + ((end - begin) / std::cmp::max(version.blocks.items()[0].1.size as u64, 1024)) + as usize, )); let mut true_offset = 0; - for b in version.blocks().iter() { + for (_, b) in version.blocks.items().iter() { if true_offset >= end { break; } |