diff options
author | Alex Auvolat <alex@adnab.me> | 2020-04-21 17:08:42 +0000 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2020-04-21 17:08:42 +0000 |
commit | ec59e896c6cf405a0e52392ebb8619f26a367968 (patch) | |
tree | 4065518f40a7aa40a6c13506be43706061e795e8 /src/api_server.rs | |
parent | 8915224966e41195bd5844d9df29a3f0c7d7d6ae (diff) | |
download | garage-ec59e896c6cf405a0e52392ebb8619f26a367968.tar.gz garage-ec59e896c6cf405a0e52392ebb8619f26a367968.zip |
Make UUID & Hash Copy and remove some .clone() noise
Diffstat (limited to 'src/api_server.rs')
-rw-r--r-- | src/api_server.rs | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/src/api_server.rs b/src/api_server.rs index 4ee28f57..f4bb4177 100644 --- a/src/api_server.rs +++ b/src/api_server.rs @@ -123,7 +123,7 @@ async fn handle_put( versions: Vec::new(), }; object.versions.push(Box::new(ObjectVersion { - uuid: version_uuid.clone(), + uuid: version_uuid, timestamp: now_msec(), mime_type: mime_type.to_string(), size: first_block.len() as u64, @@ -139,7 +139,7 @@ async fn handle_put( } let version = Version { - uuid: version_uuid.clone(), + uuid: version_uuid, deleted: false, blocks: Vec::new(), bucket: bucket.into(), @@ -147,12 +147,11 @@ async fn handle_put( }; let first_block_hash = hash(&first_block[..]); - object.versions[0].data = ObjectVersionData::FirstBlock(first_block_hash.clone()); + object.versions[0].data = ObjectVersionData::FirstBlock(first_block_hash); garage.object_table.insert(&object).await?; let mut next_offset = first_block.len(); - let mut put_curr_version_block = - put_block_meta(garage.clone(), &version, 0, first_block_hash.clone()); + let mut put_curr_version_block = put_block_meta(garage.clone(), &version, 0, first_block_hash); let mut put_curr_block = garage .block_manager .rpc_put_block(first_block_hash, first_block); @@ -163,12 +162,8 @@ async fn handle_put( if let Some(block) = next_block { let block_hash = hash(&block[..]); let block_len = block.len(); - put_curr_version_block = put_block_meta( - garage.clone(), - &version, - next_offset as u64, - block_hash.clone(), - ); + put_curr_version_block = + put_block_meta(garage.clone(), &version, next_offset as u64, block_hash); put_curr_block = garage.block_manager.rpc_put_block(block_hash, block); next_offset += block_len; } else { @@ -191,14 +186,11 @@ async fn put_block_meta( hash: Hash, ) -> Result<(), Error> { let mut version = version.clone(); - version.blocks.push(VersionBlock { - offset, - hash: hash.clone(), - }); + version.blocks.push(VersionBlock { offset, hash: hash }); let block_ref = BlockRef { block: hash, - version: version.uuid.clone(), + version: version.uuid, deleted: false, }; @@ -279,7 +271,7 @@ async fn handle_delete(garage: Arc<Garage>, bucket: &str, key: &str) -> Result<U versions: Vec::new(), }; object.versions.push(Box::new(ObjectVersion { - uuid: version_uuid.clone(), + uuid: version_uuid, timestamp: now_msec(), mime_type: "application/x-delete-marker".into(), size: 0, @@ -339,7 +331,7 @@ async fn handle_get( let mut blocks = version .blocks .iter() - .map(|vb| (vb.hash.clone(), None)) + .map(|vb| (vb.hash, None)) .collect::<Vec<_>>(); blocks[0].1 = Some(first_block); |