fn register_new_xorb()

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,
                )
            },
        }
    }