Tie jobChan lifecycle to Begin() and End()
This commit is contained in:
parent
ac90dc7deb
commit
71ddcce4c7
@ -34,7 +34,6 @@ type basicAdapter struct {
|
|||||||
func newBasicAdapter(d Direction) *basicAdapter {
|
func newBasicAdapter(d Direction) *basicAdapter {
|
||||||
return &basicAdapter{
|
return &basicAdapter{
|
||||||
direction: d,
|
direction: d,
|
||||||
jobChan: make(chan *Transfer, 100),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,6 +48,7 @@ func (a *basicAdapter) Name() string {
|
|||||||
func (a *basicAdapter) Begin(cb progress.CopyCallback, completion chan TransferResult) error {
|
func (a *basicAdapter) Begin(cb progress.CopyCallback, completion chan TransferResult) error {
|
||||||
a.cb = cb
|
a.cb = cb
|
||||||
a.outChan = completion
|
a.outChan = completion
|
||||||
|
a.jobChan = make(chan *Transfer, 100)
|
||||||
|
|
||||||
numworkers := config.Config.ConcurrentTransfers()
|
numworkers := config.Config.ConcurrentTransfers()
|
||||||
a.workerWait.Add(numworkers)
|
a.workerWait.Add(numworkers)
|
||||||
@ -64,6 +64,7 @@ func (a *basicAdapter) Add(t *Transfer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *basicAdapter) End() {
|
func (a *basicAdapter) End() {
|
||||||
|
a.jobChan.Close()
|
||||||
// wait for all transfers to complete
|
// wait for all transfers to complete
|
||||||
a.workerWait.Wait()
|
a.workerWait.Wait()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user