From 49a75ad0842dfc093afb2ac2f0a53db467104f33 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 8 Nov 2023 23:22:18 +0300 Subject: [PATCH] Add source to QueryMerger::add_query. --- td/telegram/ContactsManager.cpp | 21 +++++++++++---------- td/telegram/QueryMerger.cpp | 4 ++-- td/telegram/QueryMerger.h | 2 +- test/query_merger.cpp | 3 ++- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index 34605d3df..0f2f2f963 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -9810,7 +9810,7 @@ void ContactsManager::register_message_channels(MessageFullId message_full_id, v channel_messages_[channel_id].insert(message_full_id); // get info about the channel - get_channel_queries_.add_query(channel_id.get(), Promise()); + get_channel_queries_.add_query(channel_id.get(), Promise(), "register_message_channels"); } } } @@ -16832,7 +16832,8 @@ void ContactsManager::on_update_bot_stopped(UserId user_id, int32 date, bool is_ get_user_queries_.add_query( my_user_id.get(), PromiseCreator::lambda([actor_id = actor_id(this), user_id, date, is_stopped](Unit) { send_closure(actor_id, &ContactsManager::on_update_bot_stopped, user_id, date, is_stopped, true); - })); + }), + "on_update_bot_stopped"); return; } LOG(ERROR) << "Have no self-user to process updateBotStopped"; @@ -17143,7 +17144,7 @@ void ContactsManager::send_get_me_query(Td *td, Promise &&promise) { UserId ContactsManager::get_me(Promise &&promise) { auto my_id = get_my_id(); if (!have_user_force(my_id, "get_me")) { - get_user_queries_.add_query(my_id.get(), std::move(promise)); + get_user_queries_.add_query(my_id.get(), std::move(promise), "get_me"); return UserId(); } @@ -17179,7 +17180,7 @@ bool ContactsManager::get_user(UserId user_id, int left_tries, Promise &&p return false; } - get_user_queries_.add_query(user_id.get(), std::move(promise)); + get_user_queries_.add_query(user_id.get(), std::move(promise), "get_user"); return false; } @@ -17222,7 +17223,7 @@ void ContactsManager::reload_user(UserId user_id, Promise &&promise) { TRY_STATUS_PROMISE(promise, get_input_user(user_id)); - get_user_queries_.add_query(user_id.get(), std::move(promise)); + get_user_queries_.add_query(user_id.get(), std::move(promise), "reload_user"); } void ContactsManager::load_user_full(UserId user_id, bool force, Promise &&promise, const char *source) { @@ -17547,7 +17548,7 @@ bool ContactsManager::get_chat(ChatId chat_id, int left_tries, Promise &&p } if (left_tries > 1) { - get_chat_queries_.add_query(chat_id.get(), std::move(promise)); + get_chat_queries_.add_query(chat_id.get(), std::move(promise), "get_chat"); return false; } @@ -17566,7 +17567,7 @@ void ContactsManager::reload_chat(ChatId chat_id, Promise &&promise) { return promise.set_error(Status::Error(400, "Invalid basic group identifier")); } - get_chat_queries_.add_query(chat_id.get(), std::move(promise)); + get_chat_queries_.add_query(chat_id.get(), std::move(promise), "reload_chat"); } const ContactsManager::ChatFull *ContactsManager::get_chat_full(ChatId chat_id) const { @@ -17971,7 +17972,7 @@ bool ContactsManager::get_channel(ChannelId channel_id, int left_tries, Promise< } if (left_tries > 1 && td_->auth_manager_->is_bot()) { - get_channel_queries_.add_query(channel_id.get(), std::move(promise)); + get_channel_queries_.add_query(channel_id.get(), std::move(promise), "get_channel"); return false; } @@ -17999,7 +18000,7 @@ void ContactsManager::reload_channel(ChannelId channel_id, Promise &&promi return; } - get_channel_queries_.add_query(channel_id.get(), std::move(promise)); + get_channel_queries_.add_query(channel_id.get(), std::move(promise), "reload_channel"); } const ContactsManager::ChannelFull *ContactsManager::get_channel_full_const(ChannelId channel_id) const { @@ -18915,7 +18916,7 @@ void ContactsManager::on_get_chat(telegram_api::chat &chat, const char *source) update_channel(c, migrated_to_channel_id); // get info about the channel - get_channel_queries_.add_query(migrated_to_channel_id.get(), Promise()); + get_channel_queries_.add_query(migrated_to_channel_id.get(), Promise(), "on_get_chat"); } } break; diff --git a/td/telegram/QueryMerger.cpp b/td/telegram/QueryMerger.cpp index 850ca1ee6..5ff5c6483 100644 --- a/td/telegram/QueryMerger.cpp +++ b/td/telegram/QueryMerger.cpp @@ -15,8 +15,8 @@ QueryMerger::QueryMerger(Slice name, size_t max_concurrent_query_count, size_t m register_actor(name, this).release(); } -void QueryMerger::add_query(int64 query_id, Promise &&promise) { - LOG(INFO) << "Add query " << query_id << " with" << (promise ? "" : "out") << " promise"; +void QueryMerger::add_query(int64 query_id, Promise &&promise, const char *source) { + LOG(INFO) << "Add query " << query_id << " with" << (promise ? "" : "out") << " promise from " << source; CHECK(query_id != 0); auto &query = queries_[query_id]; query.promises_.push_back(std::move(promise)); diff --git a/td/telegram/QueryMerger.h b/td/telegram/QueryMerger.h index e87f81666..feb1426db 100644 --- a/td/telegram/QueryMerger.h +++ b/td/telegram/QueryMerger.h @@ -29,7 +29,7 @@ class QueryMerger final : public Actor { merge_function_ = std::move(merge_function); } - void add_query(int64 query_id, Promise &&promise); + void add_query(int64 query_id, Promise &&promise, const char *source); private: struct QueryInfo { diff --git a/test/query_merger.cpp b/test/query_merger.cpp index becac44e6..0b8cc94a9 100644 --- a/test/query_merger.cpp +++ b/test/query_merger.cpp @@ -70,7 +70,8 @@ class TestQueryMerger final : public td::Actor { } else { yield(); } - })); + }), + "TestQueryMerger::loop"); } }