github.com/anacrolix/torrent@v1.61.0/piecestate.go (about)

     1  package torrent
     2  
     3  import (
     4  	"github.com/anacrolix/torrent/storage"
     5  )
     6  
     7  // The current state of a piece.
     8  type PieceState struct {
     9  	storage.Completion
    10  	Priority PiecePriority
    11  	// The piece is being hashed, or is queued for hash. Deprecated: Use those fields instead.
    12  	Checking bool
    13  
    14  	Hashing       bool
    15  	QueuedForHash bool
    16  	// The piece state is being marked in the storage.
    17  	Marking bool
    18  
    19  	// Some of the piece has been obtained.
    20  	Partial bool
    21  
    22  	// The v2 hash for the piece layer is missing.
    23  	MissingPieceLayerHash bool
    24  }
    25  
    26  // Represents a series of consecutive pieces with the same state.
    27  type PieceStateRun struct {
    28  	PieceState
    29  	Length int // How many consecutive pieces have this state.
    30  }