Codebase list golang-github-vbauerster-mpb / 6c3260a
refactoring: triggerCompletion as method of bState Vladimir Bauer 1 year, 10 months ago
1 changed file(s) with 18 addition(s) and 18 deletion(s). Raw diff Collapse all Expand all
189189 if s.current >= s.total {
190190 s.current = s.total
191191 s.completed = true
192 b.triggerCompletion(s)
192 s.triggerCompletion(b)
193193 } else {
194194 s.triggerComplete = true
195195 }
217217 if complete {
218218 s.current = s.total
219219 s.completed = true
220 b.triggerCompletion(s)
220 s.triggerCompletion(b)
221221 }
222222 }:
223223 case <-b.ctx.Done():
235235 if s.triggerComplete && s.current >= s.total {
236236 s.current = s.total
237237 s.completed = true
238 b.triggerCompletion(s)
238 s.triggerCompletion(b)
239239 }
240240 }:
241241 case <-b.ctx.Done():
257257 if s.triggerComplete && s.current >= s.total {
258258 s.current = s.total
259259 s.completed = true
260 b.triggerCompletion(s)
260 s.triggerCompletion(b)
261261 }
262262 result <- &wg
263263 }:
285285 if s.triggerComplete && s.current >= s.total {
286286 s.current = s.total
287287 s.completed = true
288 b.triggerCompletion(s)
288 s.triggerCompletion(b)
289289 }
290290 }:
291291 case <-b.ctx.Done():
314314 if s.triggerComplete && s.current >= s.total {
315315 s.current = s.total
316316 s.completed = true
317 b.triggerCompletion(s)
317 s.triggerCompletion(b)
318318 }
319319 result <- &wg
320320 }:
360360 }
361361 s.aborted = true
362362 s.rmOnComplete = drop
363 b.triggerCompletion(s)
363 s.triggerCompletion(b)
364364 }:
365365 case <-b.ctx.Done():
366366 }
449449 case b.operateState <- fn:
450450 case <-b.bsOk:
451451 fn(b.bs)
452 }
453 }
454
455 func (b *Bar) triggerCompletion(s *bState) {
456 if s.autoRefresh {
457 // Technically this call isn't required, but if refresh rate is set to
458 // one hour for example and bar completes within a few minutes p.Wait()
459 // will wait for one hour. This call helps to avoid unnecessary waiting.
460 go b.tryEarlyRefresh(s.renderReq)
461 } else {
462 b.cancel()
463452 }
464453 }
465454
568557 return table
569558 }
570559
560 func (s bState) triggerCompletion(b *Bar) {
561 if s.autoRefresh {
562 // Technically this call isn't required, but if refresh rate is set to
563 // one hour for example and bar completes within a few minutes p.Wait()
564 // will wait for one hour. This call helps to avoid unnecessary waiting.
565 go b.tryEarlyRefresh(s.renderReq)
566 } else {
567 b.cancel()
568 }
569 }
570
571571 func (s bState) decoratorEwmaUpdate(n int64, dur time.Duration, wg *sync.WaitGroup) {
572572 for i := 0; i < len(s.ewmaDecorators); i++ {
573573 wg.Add(1)