| 550 | } |
| 551 | |
| 552 | int64 HashTable::GetIdsWithoutResize(int64* keys, int64* ids, int64 size) { |
| 553 | mutex_lock lock(update_mu_); |
| 554 | for (int64 i = 0; i < size; i++) { |
| 555 | int64 table_idx = KeyToTableIdx(keys + i); |
| 556 | auto iter = tables_[table_idx].find(keys[i]); |
| 557 | if (iter != tables_[table_idx].end() && iter->second != kNotAdmitted) { |
| 558 | ids[i] = iter->second; |
| 559 | } else { |
| 560 | int64 new_id; |
| 561 | ids_allocator_.GetId(&new_id); |
| 562 | size_++; |
| 563 | tables_[table_idx][keys[i]] = new_id; |
| 564 | ids[i] = new_id; |
| 565 | } |
| 566 | } |
| 567 | return size_; |
| 568 | } |
| 569 | |
| 570 | namespace { |
| 571 | constexpr int64 kIndexLen = 52; |
no test coverage detected