aboutsummaryrefslogtreecommitdiffhomepage
path: root/tdutils
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2025-04-14 14:01:51 +0300
committerlevlam <levlam@telegram.org>2025-04-14 14:01:51 +0300
commitef2825148101449c598a36ed0aefbee5fc0ee356 (patch)
tree499bbc3ba71c012a69647645d6a1801b43a6977e /tdutils
parent04adfc87deea4c804def118e88c89a08c388b32b (diff)
Various improvements.
Diffstat (limited to 'tdutils')
-rw-r--r--tdutils/td/utils/ChainScheduler.h2
-rw-r--r--tdutils/td/utils/ConcurrentHashTable.h8
-rw-r--r--tdutils/td/utils/FlatHashMapChunks.h2
-rw-r--r--tdutils/test/ChainScheduler.cpp2
4 files changed, 9 insertions, 5 deletions
diff --git a/tdutils/td/utils/ChainScheduler.h b/tdutils/td/utils/ChainScheduler.h
index 9d6bce64f..10dc96122 100644
--- a/tdutils/td/utils/ChainScheduler.h
+++ b/tdutils/td/utils/ChainScheduler.h
@@ -138,7 +138,7 @@ class ChainScheduler final : public ChainSchedulerBase {
struct Task {
enum class State { Pending, Active, Paused } state{State::Pending};
vector<TaskChainInfo> chains;
- ExtraT extra;
+ ExtraT extra{};
};
FlatHashMap<ChainId, unique_ptr<ChainInfo>> chains_;
FlatHashMap<ChainId, TaskId> limited_tasks_;
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;
diff --git a/tdutils/td/utils/FlatHashMapChunks.h b/tdutils/td/utils/FlatHashMapChunks.h
index 35a7aee6a..97f822bd5 100644
--- a/tdutils/td/utils/FlatHashMapChunks.h
+++ b/tdutils/td/utils/FlatHashMapChunks.h
@@ -68,7 +68,7 @@ struct MaskPortable {
static MaskIterator<1> equal_mask(uint8 *bytes, uint8 needle) {
uint64 res = 0;
for (int i = 0; i < 16; i++) {
- res |= (bytes[i] == needle) << i;
+ res |= static_cast<int>(bytes[i] == needle) << i;
}
return {res & ((1u << 14) - 1)};
}
diff --git a/tdutils/test/ChainScheduler.cpp b/tdutils/test/ChainScheduler.cpp
index 19df4f8ce..d338eeccd 100644
--- a/tdutils/test/ChainScheduler.cpp
+++ b/tdutils/test/ChainScheduler.cpp
@@ -109,7 +109,7 @@ TEST(ChainScheduler, Stress) {
int ChainsN = 4;
struct QueryWithParents {
- TaskId task_id;
+ TaskId task_id = -1;
QueryPtr id;
td::vector<QueryPtr> parents;
};