diff options
| author | Petter Rasmussen | 2016-01-24 12:51:53 +0100 | 
|---|---|---|
| committer | Petter Rasmussen | 2016-01-24 12:51:53 +0100 | 
| commit | 5bacd6be45dfb961c78f6e89698f8c03ca2dea43 (patch) | |
| tree | 87db5c0087a22e792100b3d253af41f8a49c64b6 | |
| parent | 06c6857d7d8837e28cdc45a33f4f69ec882c6fe2 (diff) | |
| download | gdrive-5bacd6be45dfb961c78f6e89698f8c03ca2dea43.tar.bz2 | |
Update rate every 5 seconds
| -rw-r--r-- | drive/progress.go | 12 | 
1 files changed, 8 insertions, 4 deletions
| diff --git a/drive/progress.go b/drive/progress.go index 6187058..915526c 100644 --- a/drive/progress.go +++ b/drive/progress.go @@ -7,7 +7,11 @@ import (      "time"  ) +const MaxDrawInterval = time.Second * 1 +const MaxRateInterval = time.Second * 5 +  func getProgressReader(r io.Reader, w io.Writer, size int64) io.Reader { +    // Don't wrap reader if output is discarded or size is too small      if w == ioutil.Discard || size < 1024 * 1024 {          return r      } @@ -48,15 +52,15 @@ func (self *Progress) Read(p []byte) (int, error) {          self.rateProgress = newProgress      } -    // Update rate every 3 seconds -    if self.rateUpdated.Add(time.Second * 3).Before(now) { +    // Update rate every x seconds +    if self.rateUpdated.Add(MaxRateInterval).Before(now) {          self.rate = calcRate(newProgress - self.rateProgress, self.rateUpdated, now)          self.rateUpdated = now          self.rateProgress = newProgress      } -    // Draw progress every second -    if self.updated.Add(time.Second).Before(now) || isLast { +    // Draw progress every x seconds +    if self.updated.Add(MaxDrawInterval).Before(now) || isLast {          self.Draw(isLast)      } | 
