aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetter Rasmussen2016-01-24 12:51:53 +0100
committerPetter Rasmussen2016-01-24 12:51:53 +0100
commit5bacd6be45dfb961c78f6e89698f8c03ca2dea43 (patch)
tree87db5c0087a22e792100b3d253af41f8a49c64b6
parent06c6857d7d8837e28cdc45a33f4f69ec882c6fe2 (diff)
downloadgdrive-5bacd6be45dfb961c78f6e89698f8c03ca2dea43.tar.bz2
Update rate every 5 seconds
-rw-r--r--drive/progress.go12
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)
}