Codebase list golang-github-vbauerster-mpb / 6b48433
refactoring io example Vladimir Bauer 2 years ago
1 changed file(s) with 13 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
1010 )
1111
1212 func main() {
13 var total int64 = 1024 * 1024 * 500
14 reader := io.LimitReader(rand.Reader, total)
13 var total int64 = 64 * 1024 * 1024
14
15 r, w := io.Pipe()
16
17 go func() {
18 for i := 0; i < 1024; i++ {
19 _, _ = io.Copy(w, io.LimitReader(rand.Reader, 64*1024))
20 time.Sleep(time.Second / 10)
21 }
22 w.Close()
23 }()
1524
1625 p := mpb.New(
1726 mpb.WithWidth(60),
2635 mpb.AppendDecorators(
2736 decor.EwmaETA(decor.ET_STYLE_GO, 30),
2837 decor.Name(" ] "),
29 decor.EwmaSpeed(decor.SizeB1024(0), "% .2f", 30),
38 decor.EwmaSpeed(decor.SizeB1024(0), "% .2f", 60),
3039 ),
3140 )
3241
3342 // create proxy reader
34 proxyReader := bar.ProxyReader(reader)
43 proxyReader := bar.ProxyReader(r)
3544 defer proxyReader.Close()
3645
3746 // copy from proxyReader, ignoring errors