tq: teach *TransferQueue to hold a progress.CopyCallback
This commit is contained in:
parent
211e886290
commit
e031ee6c79
@ -95,6 +95,7 @@ type TransferQueue struct {
|
|||||||
adapterInProgress bool
|
adapterInProgress bool
|
||||||
adapterInitMutex sync.Mutex
|
adapterInitMutex sync.Mutex
|
||||||
dryRun bool
|
dryRun bool
|
||||||
|
cb progress.CopyCallback
|
||||||
meter progress.Meter
|
meter progress.Meter
|
||||||
errors []error
|
errors []error
|
||||||
transfers map[string]*objectTuple
|
transfers map[string]*objectTuple
|
||||||
@ -134,6 +135,12 @@ func WithProgress(m progress.Meter) Option {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func WithProgressCallback(cb progress.CopyCallback) Option {
|
||||||
|
return func(tq *TransferQueue) {
|
||||||
|
tq.cb = cb
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func WithBatchSize(size int) Option {
|
func WithBatchSize(size int) Option {
|
||||||
return func(tq *TransferQueue) { tq.batchSize = size }
|
return func(tq *TransferQueue) { tq.batchSize = size }
|
||||||
}
|
}
|
||||||
@ -575,6 +582,9 @@ func (q *TransferQueue) ensureAdapterBegun(e lfsapi.Endpoint) error {
|
|||||||
// Progress callback - receives byte updates
|
// Progress callback - receives byte updates
|
||||||
cb := func(name string, total, read int64, current int) error {
|
cb := func(name string, total, read int64, current int) error {
|
||||||
q.meter.TransferBytes(q.direction.String(), name, read, total, current)
|
q.meter.TransferBytes(q.direction.String(), name, read, total, current)
|
||||||
|
if q.cb != nil {
|
||||||
|
q.cb(total, read, current)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user