Codebase list golang-github-vbauerster-mpb / 00e7b6f
check manualRefresh at bar.triggerCompletion Vladimir Bauer 3 years ago
2 changed file(s) with 20 addition(s) and 18 deletion(s). Raw diff Collapse all Expand all
4343 dropOnComplete bool
4444 noPop bool
4545 autoRefresh bool
46 manualRefresh bool
4647 aDecorators []decor.Decorator
4748 pDecorators []decor.Decorator
4849 averageDecorators []decor.AverageDecorator
185186 if s.current >= s.total {
186187 s.current = s.total
187188 s.completed = true
188 b.triggerCompletion(s.autoRefresh, s.refreshCh)
189 b.triggerCompletion(s)
189190 } else {
190191 s.triggerComplete = true
191192 }
213214 if triggerCompleteNow {
214215 s.current = s.total
215216 s.completed = true
216 b.triggerCompletion(s.autoRefresh, s.refreshCh)
217 b.triggerCompletion(s)
217218 }
218219 }:
219220 case <-b.done:
231232 if s.triggerComplete && s.current >= s.total {
232233 s.current = s.total
233234 s.completed = true
234 b.triggerCompletion(s.autoRefresh, s.refreshCh)
235 b.triggerCompletion(s)
235236 }
236237 }:
237238 case <-b.done:
253254 if s.triggerComplete && s.current >= s.total {
254255 s.current = s.total
255256 s.completed = true
256 b.triggerCompletion(s.autoRefresh, s.refreshCh)
257 b.triggerCompletion(s)
257258 }
258259 }:
259260 case <-b.done:
281282 if s.triggerComplete && s.current >= s.total {
282283 s.current = s.total
283284 s.completed = true
284 b.triggerCompletion(s.autoRefresh, s.refreshCh)
285 b.triggerCompletion(s)
285286 }
286287 }:
287288 case <-b.done:
311312 if s.triggerComplete && s.current >= s.total {
312313 s.current = s.total
313314 s.completed = true
314 b.triggerCompletion(s.autoRefresh, s.refreshCh)
315 b.triggerCompletion(s)
315316 }
316317 }:
317318 case <-b.done:
349350 }
350351 s.aborted = true
351352 s.dropOnComplete = drop
352 b.triggerCompletion(s.autoRefresh, s.refreshCh)
353 b.triggerCompletion(s)
353354 }:
354355 case <-b.done:
355356 }
448449 }
449450 }
450451
451 func (b *Bar) triggerCompletion(autoRefresh bool, refreshCh chan<- time.Time) {
452 if autoRefresh {
452 func (b *Bar) triggerCompletion(s *bState) {
453 if s.autoRefresh {
453454 // Technically this call isn't required, but if refresh rate is set to
454455 // one hour for example and bar completes within a few minutes p.Wait()
455456 // will wait for one hour. This call helps to avoid unnecessary waiting.
456 go b.tryEarlyRefresh(refreshCh)
457 } else {
457 go b.tryEarlyRefresh(s.refreshCh)
458 } else if !s.manualRefresh {
458459 b.cancel()
459460 }
460461 }
384384
385385 func (s *pState) makeBarState(total int64, filler BarFiller, options ...BarOption) *bState {
386386 bs := &bState{
387 id: s.idCount,
388 priority: s.idCount,
389 reqWidth: s.reqWidth,
390 total: total,
391 filler: filler,
392 refreshCh: s.refreshCh,
393 autoRefresh: s.autoRefresh,
387 id: s.idCount,
388 priority: s.idCount,
389 reqWidth: s.reqWidth,
390 total: total,
391 filler: filler,
392 refreshCh: s.refreshCh,
393 autoRefresh: s.autoRefresh,
394 manualRefresh: s.manualRefresh,
394395 }
395396
396397 if total > 0 {