2
0
mirror of synced 2025-02-24 14:48:27 +00:00
torrent/storage/completion.go
Matt Joiner 5c5a26afed Add bolt piece completion DB
This means it can be persistent without needing cgo. Fixes issues #115 and #124.
2016-10-25 19:07:26 +11:00

24 lines
490 B
Go

package storage
import (
"log"
"github.com/anacrolix/torrent/metainfo"
)
// Implementations track the completion of pieces.
type pieceCompletion interface {
Get(metainfo.PieceKey) (bool, error)
Set(metainfo.PieceKey, bool) error
Close() error
}
func pieceCompletionForDir(dir string) (ret pieceCompletion) {
ret, err := newBoltPieceCompletion(dir)
if err != nil {
log.Printf("couldn't open piece completion db in %q: %s", dir, err)
ret = new(mapPieceCompletion)
}
return
}