blob: b7ed5b2897b00cda57a1e8efb0198b9f1acead14 (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package progress
import "time"
// Set records current progress and renders when percent changed or the 1s tick
// elapsed.
func (meter *Meter) Set(done uint64, bytes uint64) {
meter.lastDone = done
meter.lastBytes = bytes
meter.sawValue = true
if meter.writer == nil {
return
}
now := time.Now()
forced := meter.consumeUpdateTick(now)
percentChanged := false
if meter.total > 0 {
percent := int(done * 100 / meter.total)
percentChanged = percent != meter.lastPercent
}
if !percentChanged && !forced {
return
}
meter.render(now, "\r")
}
|