diff options
Diffstat (limited to 'tdutils/td/utils/ConcurrentHashTable.h')
| -rw-r--r-- | tdutils/td/utils/ConcurrentHashTable.h | 8 |
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; |
