aboutsummaryrefslogtreecommitdiffhomepage
path: root/tdutils/td/utils/ConcurrentHashTable.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdutils/td/utils/ConcurrentHashTable.h')
-rw-r--r--tdutils/td/utils/ConcurrentHashTable.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/tdutils/td/utils/ConcurrentHashTable.h b/tdutils/td/utils/ConcurrentHashTable.h
index b7bad15a7..dab06fc61 100644
--- a/tdutils/td/utils/ConcurrentHashTable.h
+++ b/tdutils/td/utils/ConcurrentHashTable.h
@@ -209,12 +209,15 @@ class ConcurrentHashMap {
int migrate_generation_{0};
HashMap *migrate_from_hash_map_{nullptr};
HashMap *migrate_to_hash_map_{nullptr};
+
struct Task {
size_t begin;
size_t end;
+
bool empty() const {
return begin >= end;
}
+
size_t size() const {
if (empty()) {
return 0;
@@ -224,9 +227,10 @@ class ConcurrentHashMap {
};
struct TaskCreator {
- size_t chunk_size;
- size_t size;
+ size_t chunk_size{0};
+ size_t size{0};
std::atomic<size_t> pos{0};
+
Task create() {
auto i = pos++;
auto begin = i * chunk_size;