()
| 237 | } |
| 238 | |
| 239 | func (m *maxLatencyWriter) flushLoop() { |
| 240 | t := time.NewTicker(m.latency) |
| 241 | defer t.Stop() |
| 242 | for { |
| 243 | select { |
| 244 | case <-m.done: |
| 245 | if onExitFlushLoop != nil { |
| 246 | onExitFlushLoop() |
| 247 | } |
| 248 | return |
| 249 | case <-t.C: |
| 250 | m.Lock() |
| 251 | m.dst.Flush() |
| 252 | m.Unlock() |
| 253 | } |
| 254 | } |
| 255 | } |
| 256 | |
| 257 | func (m *maxLatencyWriter) stop() { m.done <- true } |