From df626f266e25ef7c627d5d1f6e238f1900515534 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 2 May 2023 17:30:12 +0300 Subject: [PATCH] Inline create_ordered_message. --- td/telegram/MessagesManager.cpp | 19 ++++++++----------- td/telegram/MessagesManager.h | 4 +--- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 7c3a8bf20..1e27ff30c 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -34221,9 +34221,9 @@ void MessagesManager::unpin_all_dialog_messages_on_server(DialogId dialog_id, ui } MessagesManager::OrderedMessage *MessagesManager::treap_insert_message(unique_ptr *v, - unique_ptr message) { - auto message_id = message->message_id; - while (*v != nullptr && (*v)->random_y >= message->random_y) { + MessageId message_id) { + auto random_y = static_cast(static_cast(message_id.get() * 2101234567u)); + while (*v != nullptr && (*v)->random_y >= random_y) { if ((*v)->message_id.get() < message_id.get()) { v = &(*v)->right; } else if ((*v)->message_id == message_id) { @@ -34233,6 +34233,10 @@ MessagesManager::OrderedMessage *MessagesManager::treap_insert_message(unique_pt } } + auto message = make_unique(); + message->message_id = message_id; + message->random_y = random_y; + unique_ptr *left = &message->left; unique_ptr *right = &message->right; @@ -34438,13 +34442,6 @@ MessagesManager::Message *MessagesManager::on_get_message_from_database(Dialog * return result; } -unique_ptr MessagesManager::create_ordered_message(MessageId message_id) { - auto result = make_unique(); - result->message_id = message_id; - result->random_y = static_cast(static_cast(message_id.get() * 2101234567u)); - return result; -} - MessagesManager::Message *MessagesManager::add_message_to_dialog(DialogId dialog_id, unique_ptr message, bool have_previous, bool have_next, bool from_update, bool *need_update, bool *need_update_dialog_pos, @@ -35234,7 +35231,7 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq Message *result_message = message.get(); d->messages.set(message_id, std::move(message)); - OrderedMessage *ordered_message = treap_insert_message(&d->ordered_messages, create_ordered_message(message_id)); + OrderedMessage *ordered_message = treap_insert_message(&d->ordered_messages, message_id); if (!is_attached) { if (have_next) { CHECK(!have_previous); diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 484747c39..a76528c0c 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -2335,8 +2335,6 @@ class MessagesManager final : public Actor { void on_get_scheduled_messages_from_database(DialogId dialog_id, vector &&messages); - static unique_ptr create_ordered_message(MessageId message_id); - static bool have_dialog_scheduled_messages_in_memory(const Dialog *d); static bool is_allowed_useless_update(const tl_object_ptr &update); @@ -2867,7 +2865,7 @@ class MessagesManager final : public Actor { DialogFolder *get_dialog_folder(FolderId folder_id); const DialogFolder *get_dialog_folder(FolderId folder_id) const; - static OrderedMessage *treap_insert_message(unique_ptr *v, unique_ptr message); + static OrderedMessage *treap_insert_message(unique_ptr *v, MessageId message_id); static void treap_delete_message(unique_ptr *v, MessageId message_id);