func walkOnce( dst farm.Selecter, wait waiter, src <-chan []string, maxSize int, instr instrumentation.WalkInstrumentation, ) { for batch := range src { log.Printf("walk: received batch of %d, requesting tokens", len(batch)) wait.Wait(int64(len(batch))) log.Printf("walk: received tokens, performing Select") dst.Select(batch, 0, maxSize) instr.WalkKeys(len(batch)) log.Printf("walk: performed Select, waiting for next batch") } }
func walkOnce( dst farm.Selecter, wait waiter, src <-chan []string, maxSize int, instr instrumentation.WalkInstrumentation, ) { defer func(t time.Time) { log.Printf("single walk complete, %s", time.Since(t)) }(time.Now()) for batch := range src { log.Printf("walk: received batch of %d, requesting tokens", len(batch)) wait.Wait(int64(len(batch))) log.Printf("walk: received tokens, performing Select") dst.SelectOffset(batch, 0, maxSize) instr.WalkKeys(len(batch)) log.Printf("walk: performed Select, waiting for next batch") } }