in progress_tracking/src/upload_tracking.rs [208:241]
fn register_new_xorb(&mut self, xorb_hash: MerkleHash, xorb_size: u64) -> (ProgressUpdate, bool) {
match self.xorbs.entry(xorb_hash) {
HashMapEntry::Occupied(occupied_entry) => {
debug_assert_eq!(occupied_entry.get().xorb_size, xorb_size);
(ProgressUpdate::default(), false)
},
HashMapEntry::Vacant(vacant_entry) => {
vacant_entry.insert(XorbDependency {
file_indices: Default::default(),
xorb_size,
completed_bytes: 0,
is_completed: false,
});
self.total_upload_bytes += xorb_size;
(
ProgressUpdate {
item_updates: vec![],
total_bytes: self.total_bytes,
total_bytes_increment: 0,
total_bytes_completed: self.total_bytes_completed,
total_bytes_completion_increment: 0,
total_transfer_bytes: self.total_upload_bytes,
total_transfer_bytes_increment: xorb_size,
total_transfer_bytes_completed: self.total_upload_bytes_completed,
total_transfer_bytes_completion_increment: 0,
..Default::default()
},
true,
)
},
}
}