2015-06-01 16:22:12 +08:00
|
|
|
package torrent
|
|
|
|
|
2018-01-28 12:58:55 +08:00
|
|
|
import (
|
|
|
|
"github.com/anacrolix/torrent/storage"
|
|
|
|
)
|
|
|
|
|
2015-06-01 16:22:12 +08:00
|
|
|
// The current state of a piece.
|
|
|
|
type PieceState struct {
|
|
|
|
Priority piecePriority
|
|
|
|
// The piece is available in its entirety.
|
2018-01-28 12:58:55 +08:00
|
|
|
storage.Completion
|
2015-06-01 16:22:12 +08:00
|
|
|
// The piece is being hashed, or is queued for hash.
|
|
|
|
Checking bool
|
|
|
|
// Some of the piece has been obtained.
|
|
|
|
Partial bool
|
|
|
|
}
|
|
|
|
|
|
|
|
// Represents a series of consecutive pieces with the same state.
|
|
|
|
type PieceStateRun struct {
|
|
|
|
PieceState
|
|
|
|
Length int // How many consecutive pieces have this state.
|
|
|
|
}
|