diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/td/telegram/Global.cpp')
-rw-r--r-- | protocols/Telegram/tdlib/td/td/telegram/Global.cpp | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/protocols/Telegram/tdlib/td/td/telegram/Global.cpp b/protocols/Telegram/tdlib/td/td/telegram/Global.cpp index 79bf898a49..dacaaef86d 100644 --- a/protocols/Telegram/tdlib/td/td/telegram/Global.cpp +++ b/protocols/Telegram/tdlib/td/td/telegram/Global.cpp @@ -1,5 +1,5 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2022 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -35,13 +35,11 @@ void Global::log_out(Slice reason) { void Global::close_all(Promise<> on_finished) { td_db_->close_all(std::move(on_finished)); state_manager_.clear(); - parameters_ = TdParameters(); } void Global::close_and_destroy_all(Promise<> on_finished) { td_db_->close_and_destroy_all(std::move(on_finished)); state_manager_.clear(); - parameters_ = TdParameters(); } ActorId<ConnectionCreator> Global::connection_creator() const { @@ -87,9 +85,7 @@ struct ServerTimeDiff { } }; -Status Global::init(const TdParameters ¶meters, ActorId<Td> td, unique_ptr<TdDb> td_db_ptr) { - parameters_ = parameters; - +Status Global::init(ActorId<Td> td, unique_ptr<TdDb> td_db_ptr) { gc_scheduler_id_ = min(Scheduler::instance()->sched_id() + 2, Scheduler::instance()->sched_count() - 1); slow_net_scheduler_id_ = min(Scheduler::instance()->sched_id() + 3, Scheduler::instance()->sched_count() - 1); @@ -137,6 +133,34 @@ Status Global::init(const TdParameters ¶meters, ActorId<Td> td, unique_ptr<T return Status::OK(); } +Slice Global::get_dir() const { + return td_db_->get_database_directory(); +} + +Slice Global::get_files_dir() const { + return td_db_->get_files_directory(); +} + +bool Global::is_test_dc() const { + return td_db_->is_test_dc(); +} + +bool Global::use_file_database() const { + return td_db_->use_file_database(); +} + +bool Global::use_sqlite_pmc() const { + return td_db_->use_sqlite_pmc(); +} + +bool Global::use_chat_info_database() const { + return td_db_->use_chat_info_database(); +} + +bool Global::use_message_database() const { + return td_db_->use_message_database(); +} + int32 Global::get_retry_after(int32 error_code, Slice error_message) { if (error_code != 429) { return 0; @@ -161,8 +185,8 @@ int32 Global::to_unix_time(double server_time) const { return static_cast<int32>(server_time); } -void Global::update_server_time_difference(double diff) { - if (!server_time_difference_was_updated_ || server_time_difference_ < diff) { +void Global::update_server_time_difference(double diff, bool force) { + if (force || !server_time_difference_was_updated_ || server_time_difference_ < diff) { server_time_difference_ = diff; server_time_difference_was_updated_ = true; do_save_server_time_difference(); @@ -233,10 +257,6 @@ DcId Global::get_webfile_dc_id() const { return DcId::internal(dc_id); } -bool Global::ignore_background_updates() const { - return !parameters_.use_file_db && !parameters_.use_secret_chats && get_option_boolean("ignore_background_updates"); -} - void Global::set_net_query_stats(std::shared_ptr<NetQueryStats> net_query_stats) { net_query_creator_.set_create_func( [net_query_stats = std::move(net_query_stats)] { return td::make_unique<NetQueryCreator>(net_query_stats); }); |