// newTransferQueue builds a TransferQueue, direction and underlying mechanism determined by adapter func newTransferQueue(files int, size int64, dryRun bool, dir transfer.Direction) *TransferQueue { logPath, _ := config.Config.Os.Get("GIT_LFS_PROGRESS") q := &TransferQueue{ direction: dir, dryRun: dryRun, meter: progress.NewProgressMeter(files, size, dryRun, logPath), apic: make(chan Transferable, batchSize), retriesc: make(chan Transferable, batchSize), errorc: make(chan error), oldApiWorkers: config.Config.ConcurrentTransfers(), transferables: make(map[string]Transferable), trMutex: &sync.Mutex{}, manifest: transfer.ConfigureManifest(transfer.NewManifest(), config.Config), retryCount: make(map[string]uint32), maxRetries: defaultMaxRetries, } q.errorwait.Add(1) q.retrywait.Add(1) q.run() return q }
// TransferManifest builds a transfer.Manifest from the commands package global // cfg var. func TransferManifest() *transfer.Manifest { return transfer.ConfigureManifest(transfer.NewManifest(), cfg) }