Codebase list golang-github-vbauerster-mpb / 423ec45
drop averageDecorators slice from bState struct DecoratorAverageAdjust is very uncommon method to call because start time can be set at construction time. It's not worth to keep slice for method which is potentially never called. Vladimir Bauer 1 year, 10 months ago
1 changed file(s) with 7 addition(s) and 13 deletion(s). Raw diff Collapse all Expand all
4545 autoRefresh bool
4646 buffers [3]*bytes.Buffer
4747 decorators [2][]decor.Decorator
48 averageDecorators []decor.AverageDecorator
4948 ewmaDecorators []decor.EwmaDecorator
5049 shutdownListeners []decor.ShutdownListener
5150 filler BarFiller
318317 }
319318 }
320319
321 // DecoratorAverageAdjust adjusts all average based decorators. Call
322 // if you need to adjust start time of all average based decorators
323 // or after progress resume.
320 // DecoratorAverageAdjust adjusts all average based decorators.
321 // Call if you need to set start time after decorators have been constructed.
322 // For this method to work average decorators must implement
323 // decor.AverageDecorator interface.
324324 func (b *Bar) DecoratorAverageAdjust(start time.Time) {
325 select {
326 case b.operateState <- func(s *bState) {
327 for _, d := range s.averageDecorators {
325 b.TraverseDecorators(func(d decor.Decorator) {
326 if d, ok := d.(decor.AverageDecorator); ok {
328327 d.AverageAdjust(start)
329328 }
330 }:
331 case <-b.ctx.Done():
332 }
329 })
333330 }
334331
335332 // SetPriority changes bar's order among multiple bars. Zero is highest
551548 func (s *bState) sortDecorators(decorators []decor.Decorator) {
552549 for _, d := range decorators {
553550 d := unwrap(d)
554 if d, ok := d.(decor.AverageDecorator); ok {
555 s.averageDecorators = append(s.averageDecorators, d)
556 }
557551 if d, ok := d.(decor.EwmaDecorator); ok {
558552 s.ewmaDecorators = append(s.ewmaDecorators, d)
559553 }