async fn request_blocks(&mut self, hashes: HashSet<block::Hash>) -> Result<(), Report> {
        tracing::debug!(hashes.len = hashes.len(), "requesting blocks");
        for hash in hashes.into_iter() {
            self.downloads.download_and_verify(hash).await?;
        }

        Ok(())
    }
/// Queue download and verify tasks for each block that isn't currently known to our node
Queue download and verify tasks for each block that isn't currently known to our node
Queue download and verify tasks for each block that isn ' t currently known to our node
async fn request_blocks(&mut self, hashes: HashSet<block::Hash>) -> Result<(), Report> {
        tracing::debug!(hashes.len = hashes.len(), "requesting blocks");
        for hash in hashes.into_iter() {
            self.downloads.download_and_verify(hash).await?;
        }
        Ok(())
    }
async fn request_blocks ( & mut self , hashes : HashSet < block :: Hash > ) -> Result < ( ) , Report > { tracing :: debug ! ( hashes len hashes len ( ) " " ) ; for hash in hashes . into_iter ( ) { self . downloads . download_and_verify ( hash ) . await ? ; } Ok ( ( ) ) }
Queue download and verify tasks for each block that isn't currently known to our node
Queue download and verify tasks for each block that isn ' t currently known to our node
&mut self
hashes
HashSet<block::Hash>