]> Sergey Matveev's repositories - btrtrc.git/blobdiff - piece.go
Drop support for go 1.20
[btrtrc.git] / piece.go
index d892a406e809843af1eee379f28c5171724e2e25..e08b2609690e385663c4df716d22d05ab3c7808b 100644 (file)
--- a/piece.go
+++ b/piece.go
@@ -1,12 +1,12 @@
 package torrent
 
 import (
-       "encoding/gob"
        "fmt"
        "sync"
 
        "github.com/anacrolix/chansync"
        "github.com/anacrolix/missinggo/v2/bitmap"
+
        "github.com/anacrolix/torrent/metainfo"
        pp "github.com/anacrolix/torrent/peer_protocol"
        "github.com/anacrolix/torrent/storage"
@@ -41,8 +41,6 @@ type Piece struct {
        // Connections that have written data to this piece since its last check.
        // This can include connections that have closed.
        dirtiers map[*Peer]struct{}
-
-       undirtiedChunksIter undirtiedChunksIter
 }
 
 func (p *Piece) String() string {
@@ -57,6 +55,12 @@ func (p *Piece) Storage() storage.Piece {
        return p.t.storage.Piece(p.Info())
 }
 
+func (p *Piece) Flush() {
+       if p.t.storage.Flush != nil {
+               _ = p.t.storage.Flush()
+       }
+}
+
 func (p *Piece) pendingChunkIndex(chunkIndex chunkIndexType) bool {
        return !p.chunkIndexDirty(chunkIndex)
 }
@@ -244,10 +248,6 @@ func (p *Piece) State() PieceState {
        return p.t.PieceState(p.index)
 }
 
-func init() {
-       gob.Register(undirtiedChunksIter{})
-}
-
 func (p *Piece) requestIndexOffset() RequestIndex {
        return p.t.pieceRequestIndexOffset(p.index)
 }