]> Sergey Matveev's repositories - btrtrc.git/commitdiff
cmd/torrent: Restore parsing of units for upload and download rates
authorMatt Joiner <anacrolix@gmail.com>
Tue, 4 May 2021 06:00:22 +0000 (16:00 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 4 May 2021 06:00:22 +0000 (16:00 +1000)
https://github.com/anacrolix/torrent/issues/447

cmd/torrent/main.go
go.mod
go.sum

index 203738314fcdc06d9bf50307d4ddc3e42aeb8e6c..2271b9313a4c531b87e1632cec8fa3301728a4f0 100644 (file)
@@ -165,12 +165,12 @@ var flags struct {
 type SpewBencodingCmd struct{}
 
 type DownloadCmd struct {
-       Mmap            bool          `help:"memory-map torrent data"`
-       TestPeer        []string      `help:"addresses of some starting peers"`
-       Seed            bool          `help:"seed after download is complete"`
-       Addr            string        `help:"network listen addr"`
-       UploadRate      tagflag.Bytes `help:"max piece bytes to send per second" default:"-1"`
-       DownloadRate    tagflag.Bytes `help:"max bytes per second down from peers" default:"-1"`
+       Mmap            bool           `help:"memory-map torrent data"`
+       TestPeer        []string       `help:"addresses of some starting peers"`
+       Seed            bool           `help:"seed after download is complete"`
+       Addr            string         `help:"network listen addr"`
+       UploadRate      *tagflag.Bytes `help:"max piece bytes to send per second"`
+       DownloadRate    *tagflag.Bytes `help:"max bytes per second down from peers"`
        PackedBlocklist string
        PublicIP        net.IP
        Progress        bool `default:"true"`
@@ -297,11 +297,11 @@ func downloadErr() error {
        if flags.Addr != "" {
                clientConfig.SetListenAddr(flags.Addr)
        }
-       if flags.UploadRate != -1 {
-               clientConfig.UploadRateLimiter = rate.NewLimiter(rate.Limit(flags.UploadRate), 256<<10)
+       if flags.UploadRate != nil {
+               clientConfig.UploadRateLimiter = rate.NewLimiter(rate.Limit(*flags.UploadRate), 256<<10)
        }
-       if flags.DownloadRate != -1 {
-               clientConfig.DownloadRateLimiter = rate.NewLimiter(rate.Limit(flags.DownloadRate), 1<<20)
+       if flags.DownloadRate != nil {
+               clientConfig.DownloadRateLimiter = rate.NewLimiter(rate.Limit(*flags.DownloadRate), 1<<20)
        }
        if flags.Quiet {
                clientConfig.Logger = log.Discard
diff --git a/go.mod b/go.mod
index f94f27b270480e4ba7876899398bee606e9f8d15..30b55a098b9a18a5d88acbe6513e4da3cf9ec919 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -15,7 +15,7 @@ require (
        github.com/anacrolix/missinggo/v2 v2.5.0
        github.com/anacrolix/multiless v0.1.0
        github.com/anacrolix/sync v0.2.0
-       github.com/anacrolix/tagflag v1.2.0
+       github.com/anacrolix/tagflag v1.3.0
        github.com/anacrolix/upnp v0.1.2-0.20200416075019-5e9378ed1425
        github.com/anacrolix/utp v0.1.0
        github.com/bradfitz/iter v0.0.0-20191230175014-e8f45d346db8
diff --git a/go.sum b/go.sum
index 5513f936b87e9a40a00e10bb4f57198932b93ed7..e12648a141689bdc33ebee05c7465c37c7447d0c 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -137,6 +137,8 @@ github.com/anacrolix/tagflag v1.1.0/go.mod h1:Scxs9CV10NQatSmbyjqmqmeQNwGzlNe0CM
 github.com/anacrolix/tagflag v1.1.1-0.20200411025953-9bb5209d56c2/go.mod h1:Scxs9CV10NQatSmbyjqmqmeQNwGzlNe0CMUMIxqHIG8=
 github.com/anacrolix/tagflag v1.2.0 h1:WdSv10SpxOI97++f5FUKnKPFkVGMiPlpYm52XPaMkp4=
 github.com/anacrolix/tagflag v1.2.0/go.mod h1:Scxs9CV10NQatSmbyjqmqmeQNwGzlNe0CMUMIxqHIG8=
+github.com/anacrolix/tagflag v1.3.0 h1:5NI+9CniDnEH0BWA4UcQbERyFPjKJqZnVkItGVIDy/s=
+github.com/anacrolix/tagflag v1.3.0/go.mod h1:Scxs9CV10NQatSmbyjqmqmeQNwGzlNe0CMUMIxqHIG8=
 github.com/anacrolix/torrent v0.0.0-20180622074351-fefeef4ee9eb/go.mod h1:3vcFVxgOASslNXHdivT8spyMRBanMCenHRpe0u5vpBs=
 github.com/anacrolix/torrent v1.7.1/go.mod h1:uvOcdpOjjrAq3uMP/u1Ide35f6MJ/o8kMnFG8LV3y6g=
 github.com/anacrolix/torrent v1.9.0/go.mod h1:jJJ6lsd2LD1eLHkUwFOhy7I0FcLYH0tHKw2K7ZYMHCs=