12345678910111213141516171819 |
- package rclone_backend
- import "github.com/rclone/rclone/fs/accounting"
- type ProgressReader struct {
- acc *accounting.Account
- tr *accounting.Transfer
- fn func(progressed int64, percentage float32) error
- }
- func (pr *ProgressReader) Read(p []byte) (n int, err error) {
- n, err = pr.acc.Read(p)
- if err != nil {
- return
- }
- snap := pr.tr.Snapshot()
- err = pr.fn(snap.Bytes, 100*float32(snap.Bytes)/float32(snap.Size))
- return
- }
|