(state *scanLoopRuntime)
| 141 | } |
| 142 | |
| 143 | func (s *Scanner) doScan(state *scanLoopRuntime) { |
| 144 | if !s.acquireScanPermit() { |
| 145 | return |
| 146 | } |
| 147 | err := s.worker.scanBatch(s.ctx, state, func(kvi uint64, sc *scanned) { |
| 148 | s.updateStats(kvi, sc) |
| 149 | }) |
| 150 | s.releaseScanPermit() |
| 151 | if err != nil { |
| 152 | s.lg.Error("Scan batch failed", "mode", state.mode, "error", err) |
| 153 | } |
| 154 | } |
| 155 | |
| 156 | func (s *Scanner) updateStats(kvi uint64, sc *scanned) { |
| 157 | s.statsMu.Lock() |
no test coverage detected