Port int
}
-func (t torrent) PieceSize(piece int) (size int64) {
+func (t *torrent) PieceSize(piece int) (size int64) {
if piece == len(t.Pieces)-1 {
size = t.Data.Size() % t.MetaInfo.PieceLength
}
break
}
me.torrents[torrent.InfoHash] = torrent
- for i := range torrent.Pieces {
- go func(piece int) {
+ go func() {
+ for _piece := range torrent.Pieces {
+ piece := _piece
sum := torrent.HashPiece(piece)
me.withContext(func() {
me.pieceHashed(torrent.InfoHash, piece, sum == torrent.Pieces[piece].Hash)
})
- }(i)
- }
+ }
+ }()
case infoHash := <-me.torrentFinished:
delete(me.torrents, infoHash)
case task := <-me.actorTask: