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
| 45 | 45 | autoRefresh bool |
| 46 | 46 | buffers [3]*bytes.Buffer |
| 47 | 47 | decorators [2][]decor.Decorator |
| 48 | averageDecorators []decor.AverageDecorator | |
| 49 | 48 | ewmaDecorators []decor.EwmaDecorator |
| 50 | 49 | shutdownListeners []decor.ShutdownListener |
| 51 | 50 | filler BarFiller |
| 318 | 317 | } |
| 319 | 318 | } |
| 320 | 319 | |
| 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. | |
| 324 | 324 | 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 { | |
| 328 | 327 | d.AverageAdjust(start) |
| 329 | 328 | } |
| 330 | }: | |
| 331 | case <-b.ctx.Done(): | |
| 332 | } | |
| 329 | }) | |
| 333 | 330 | } |
| 334 | 331 | |
| 335 | 332 | // SetPriority changes bar's order among multiple bars. Zero is highest |
| 551 | 548 | func (s *bState) sortDecorators(decorators []decor.Decorator) { |
| 552 | 549 | for _, d := range decorators { |
| 553 | 550 | d := unwrap(d) |
| 554 | if d, ok := d.(decor.AverageDecorator); ok { | |
| 555 | s.averageDecorators = append(s.averageDecorators, d) | |
| 556 | } | |
| 557 | 551 | if d, ok := d.(decor.EwmaDecorator); ok { |
| 558 | 552 | s.ewmaDecorators = append(s.ewmaDecorators, d) |
| 559 | 553 | } |