cmd/torrent: Expose --mmap

This commit is contained in:
Matt Joiner 2015-10-23 12:42:19 +11:00
parent 99a0813d88
commit b8da06a885
1 changed files with 11 additions and 0 deletions

View File

@ -16,6 +16,7 @@ import (
"github.com/jessevdk/go-flags"
"github.com/anacrolix/torrent"
"github.com/anacrolix/torrent/data/mmap"
"github.com/anacrolix/torrent/metainfo"
)
@ -72,6 +73,7 @@ func main() {
var rootGroup struct {
Client torrent.Config `group:"Client Options"`
TestPeers []string `long:"test-peer" description:"address of peer to inject to every torrent"`
MMap bool `long:"mmap" description:"memory-map the torrent files"`
}
// Don't pass flags.PrintError because it's inconsistent with printing.
// https://github.com/jessevdk/go-flags/issues/132
@ -87,6 +89,15 @@ func main() {
if err != nil {
log.Fatal(err)
}
if rootGroup.MMap {
rootGroup.Client.TorrentDataOpener = func(info *metainfo.Info) torrent.Data {
ret, err := mmap.TorrentData(info, "")
if err != nil {
log.Fatalf("error opening torrent data for %q: %s", info.Name, err)
}
return ret
}
}
if len(posArgs) == 0 {
fmt.Fprintln(os.Stderr, "no torrents specified")