Skip to content

Commit

Permalink
Clear written block data
Browse files Browse the repository at this point in the history
  • Loading branch information
ivanjermakov committed Oct 29, 2023
1 parent e282894 commit e4d6bbd
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/peer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ async fn read_loop(
debug!("no handler for message, skipping: {:?}", msg);
}
Err(e) => {
warn!("{e:#}");
debug!("peer error: {e:#}");
return Err(e);
}
};
Expand Down
16 changes: 7 additions & 9 deletions src/torrent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ pub async fn download_torrent(
)
};
let peers = find_peers(dht_peers, peer_id.clone(), info_hash.to_vec(), 50).await?;
info!("discovered {} dht peers", peers.len());

let tracker_response = tracker_request(
metainfo.announce.clone(),
Expand Down Expand Up @@ -138,7 +139,7 @@ pub async fn download_torrent(
port: p.dht_port.unwrap(),
})
.collect();
debug!("discovered {} dht peers: {:?}", dht_peers.len(), dht_peers);
debug!("discovered {} dht nodes: {:?}", dht_peers.len(), dht_peers);
p_state.lock().await.dht_peers.append(&mut dht_peers);

info!("done in {}s", started.elapsed().as_secs());
Expand Down Expand Up @@ -177,14 +178,11 @@ pub async fn write_piece(piece_idx: u32, state: Arc<Mutex<State>>) -> Result<()>
let mut file = File::options().create(true).write(true).open(path).await?;
file.seek(SeekFrom::Start(f.offset as u64)).await?;
file.write_all(&data).await?;
state
.lock()
.await
.pieces
.get_mut(&piece_idx)
.unwrap()
.status = TorrentStatus::Saved;
// TODO: drop written piece data

let mut state = state.lock().await;
let p = state.pieces.get_mut(&piece_idx).unwrap();
p.status = TorrentStatus::Saved;
p.blocks.clear();
}
Ok(())
}

0 comments on commit e4d6bbd

Please sign in to comment.