From cee8e3b9f90d57300885f7d08e737958ed25fa39 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Sat, 16 Jun 2018 16:33:40 +1000 Subject: [PATCH] Update external use of ClientConfig --- cmd/torrent-pick/main.go | 12 ++++++----- cmd/torrent/main.go | 9 ++++----- cmd/torrentfs/main.go | 11 +++++----- fs/torrentfs_test.go | 43 ++++++++++++++++++++-------------------- 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/cmd/torrent-pick/main.go b/cmd/torrent-pick/main.go index 0fb6971d..eada5687 100644 --- a/cmd/torrent-pick/main.go +++ b/cmd/torrent-pick/main.go @@ -79,10 +79,12 @@ func dstFileName(picked string) string { func main() { log.SetFlags(log.LstdFlags | log.Lshortfile) - var rootGroup struct { - Client torrent.Config `group:"Client Options"` - TestPeers []string `long:"test-peer" description:"address of peer to inject to every torrent"` - Pick string `long:"pick" description:"filename to pick"` + var rootGroup = struct { + Client *torrent.ClientConfig `group:"Client Options"` + TestPeers []string `long:"test-peer" description:"address of peer to inject to every torrent"` + Pick string `long:"pick" description:"filename to pick"` + }{ + Client: torrent.NewDefaultClientConfig(), } // Don't pass flags.PrintError because it's inconsistent with printing. // https://github.com/jessevdk/go-flags/issues/132 @@ -115,7 +117,7 @@ func main() { rootGroup.Client.DataDir = tmpdir - client, err := torrent.NewClient(&rootGroup.Client) + client, err := torrent.NewClient(rootGroup.Client) if err != nil { log.Fatalf("error creating client: %s", err) } diff --git a/cmd/torrent/main.go b/cmd/torrent/main.go index 1d9b4944..e97ce9d7 100644 --- a/cmd/torrent/main.go +++ b/cmd/torrent/main.go @@ -155,10 +155,9 @@ func main() { log.SetFlags(log.LstdFlags | log.Lshortfile) tagflag.Parse(&flags) defer envpprof.Stop() - clientConfig := torrent.Config{ - Debug: flags.Debug, - Seed: flags.Seed, - } + clientConfig := torrent.NewDefaultClientConfig() + clientConfig.Debug = flags.Debug + clientConfig.Seed = flags.Seed if flags.PackedBlocklist != "" { blocklist, err := iplist.MMapPackedFile(flags.PackedBlocklist) if err != nil { @@ -180,7 +179,7 @@ func main() { clientConfig.DownloadRateLimiter = rate.NewLimiter(rate.Limit(flags.DownloadRate), 1<<20) } - client, err := torrent.NewClient(&clientConfig) + client, err := torrent.NewClient(clientConfig) if err != nil { log.Fatalf("error creating client: %s", err) } diff --git a/cmd/torrentfs/main.go b/cmd/torrentfs/main.go index 3cc77812..b2d34efe 100644 --- a/cmd/torrentfs/main.go +++ b/cmd/torrentfs/main.go @@ -86,13 +86,12 @@ func mainExitCode() int { defer fuse.Unmount(args.MountDir) // TODO: Think about the ramifications of exiting not due to a signal. defer conn.Close() - cfg := torrent.Config{ - DataDir: args.DownloadDir, - DisableTrackers: args.DisableTrackers, - NoUpload: true, // Ensure that downloads are responsive. - } + cfg := torrent.NewDefaultClientConfig() + cfg.DataDir = args.DownloadDir + cfg.DisableTrackers = args.DisableTrackers + cfg.NoUpload = true // Ensure that downloads are responsive. cfg.SetListenAddr(args.ListenAddr.String()) - client, err := torrent.NewClient(&cfg) + client, err := torrent.NewClient(cfg) if err != nil { log.Print(err) return 1 diff --git a/fs/torrentfs_test.go b/fs/torrentfs_test.go index c8cacc5d..8ac69bb7 100644 --- a/fs/torrentfs_test.go +++ b/fs/torrentfs_test.go @@ -88,13 +88,13 @@ func TestUnmountWedged(t *testing.T) { t.Log(err) } }() - client, err := torrent.NewClient(&torrent.Config{ - DataDir: filepath.Join(layout.BaseDir, "incomplete"), - DisableTrackers: true, - NoDHT: true, - DisableTCP: true, - DisableUTP: true, - }) + cfg := torrent.NewDefaultClientConfig() + cfg.DataDir = filepath.Join(layout.BaseDir, "incomplete") + cfg.DisableTrackers = true + cfg.NoDHT = true + cfg.DisableTCP = true + cfg.DisableUTP = true + client, err := torrent.NewClient(cfg) require.NoError(t, err) defer client.Close() tt, err := client.AddTorrent(layout.Metainfo) @@ -165,14 +165,13 @@ func TestDownloadOnDemand(t *testing.T) { layout, err := newGreetingLayout() require.NoError(t, err) defer layout.Destroy() - cfg := torrent.Config{ - DataDir: layout.Completed, - DisableTrackers: true, - NoDHT: true, - Seed: true, - ListenHost: torrent.LoopbackListenHost, - } - seeder, err := torrent.NewClient(&cfg) + cfg := torrent.NewDefaultClientConfig() + cfg.DataDir = layout.Completed + cfg.DisableTrackers = true + cfg.NoDHT = true + cfg.Seed = true + cfg.ListenHost = torrent.LoopbackListenHost + seeder, err := torrent.NewClient(cfg) require.NoError(t, err) defer seeder.Close() testutil.ExportStatusWriter(seeder, "s") @@ -185,13 +184,13 @@ func TestDownloadOnDemand(t *testing.T) { <-seederTorrent.GotInfo() seederTorrent.VerifyData() }() - leecher, err := torrent.NewClient(&torrent.Config{ - DisableTrackers: true, - NoDHT: true, - DisableTCP: true, - DefaultStorage: storage.NewMMap(filepath.Join(layout.BaseDir, "download")), - ListenHost: torrent.LoopbackListenHost, - }) + cfg = torrent.NewDefaultClientConfig() + cfg.DisableTrackers = true + cfg.NoDHT = true + cfg.DisableTCP = true + cfg.DefaultStorage = storage.NewMMap(filepath.Join(layout.BaseDir, "download")) + cfg.ListenHost = torrent.LoopbackListenHost + leecher, err := torrent.NewClient(cfg) require.NoError(t, err) testutil.ExportStatusWriter(leecher, "l") defer leecher.Close() -- 2.44.0