Simplify Manager actor reset.
This commit is contained in:
parent
916e5de43e
commit
ffdb02374e
@ -347,7 +347,7 @@ function split_file($file, $chunks, $undo) {
|
|||||||
'GlobalPrivacySettings' => 'GlobalPrivacySettings',
|
'GlobalPrivacySettings' => 'GlobalPrivacySettings',
|
||||||
'GroupCallId' => 'GroupCallId',
|
'GroupCallId' => 'GroupCallId',
|
||||||
'group_call_manager[_(-](?![.]get[(][)])|GroupCallManager' => 'GroupCallManager',
|
'group_call_manager[_(-](?![.]get[(][)])|GroupCallManager' => 'GroupCallManager',
|
||||||
'HashtagHints' => 'HashtagHints',
|
'hashtag_hints[_(-](?![.]get[(][)])|HashtagHints' => 'HashtagHints',
|
||||||
'inline_queries_manager[_(-](?![.]get[(][)])|InlineQueriesManager' => 'InlineQueriesManager',
|
'inline_queries_manager[_(-](?![.]get[(][)])|InlineQueriesManager' => 'InlineQueriesManager',
|
||||||
'language_pack_manager[_(-]|LanguagePackManager' => 'LanguagePackManager',
|
'language_pack_manager[_(-]|LanguagePackManager' => 'LanguagePackManager',
|
||||||
'link_manager[_(-](?![.]get[(][)])|LinkManager' => 'LinkManager',
|
'link_manager[_(-](?![.]get[(][)])|LinkManager' => 'LinkManager',
|
||||||
|
@ -3291,35 +3291,25 @@ void Td::clear() {
|
|||||||
alarm_timeout_.cancel_timeout(PING_SERVER_ALARM_ID);
|
alarm_timeout_.cancel_timeout(PING_SERVER_ALARM_ID);
|
||||||
alarm_timeout_.cancel_timeout(TERMS_OF_SERVICE_ALARM_ID);
|
alarm_timeout_.cancel_timeout(TERMS_OF_SERVICE_ALARM_ID);
|
||||||
alarm_timeout_.cancel_timeout(PROMO_DATA_ALARM_ID);
|
alarm_timeout_.cancel_timeout(PROMO_DATA_ALARM_ID);
|
||||||
LOG(DEBUG) << "Requests were answered" << timer;
|
|
||||||
|
auto reset_actor = [&timer](ActorOwn<Actor> actor) {
|
||||||
|
LOG(DEBUG) << "Start clearing " << actor.get().get_name() << timer;
|
||||||
|
};
|
||||||
|
|
||||||
// close all pure actors
|
// close all pure actors
|
||||||
call_manager_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(call_manager_)));
|
||||||
LOG(DEBUG) << "CallManager was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(change_phone_number_manager_)));
|
||||||
change_phone_number_manager_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(config_manager_)));
|
||||||
LOG(DEBUG) << "ChangePhoneNumberManager was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(confirm_phone_number_manager_)));
|
||||||
config_manager_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(device_token_manager_)));
|
||||||
LOG(DEBUG) << "ConfigManager was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(hashtag_hints_)));
|
||||||
confirm_phone_number_manager_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(language_pack_manager_)));
|
||||||
LOG(DEBUG) << "ConfirmPhoneNumberManager was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(net_stats_manager_)));
|
||||||
device_token_manager_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(password_manager_)));
|
||||||
LOG(DEBUG) << "DeviceTokenManager was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(secure_manager_)));
|
||||||
hashtag_hints_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(secret_chats_manager_)));
|
||||||
LOG(DEBUG) << "HashtagHints was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(storage_manager_)));
|
||||||
language_pack_manager_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(verify_phone_number_manager_)));
|
||||||
LOG(DEBUG) << "LanguagePackManager was cleared" << timer;
|
|
||||||
net_stats_manager_.reset();
|
|
||||||
LOG(DEBUG) << "NetStatsManager was cleared" << timer;
|
|
||||||
password_manager_.reset();
|
|
||||||
LOG(DEBUG) << "PasswordManager was cleared" << timer;
|
|
||||||
secure_manager_.reset();
|
|
||||||
LOG(DEBUG) << "SecureManager was cleared" << timer;
|
|
||||||
secret_chats_manager_.reset();
|
|
||||||
LOG(DEBUG) << "SecretChatsManager was cleared" << timer;
|
|
||||||
storage_manager_.reset();
|
|
||||||
LOG(DEBUG) << "StorageManager was cleared" << timer;
|
|
||||||
verify_phone_number_manager_.reset();
|
|
||||||
LOG(DEBUG) << "VerifyPhoneNumberManager was cleared" << timer;
|
|
||||||
|
|
||||||
G()->set_connection_creator(ActorOwn<ConnectionCreator>());
|
G()->set_connection_creator(ActorOwn<ConnectionCreator>());
|
||||||
LOG(DEBUG) << "ConnectionCreator was cleared" << timer;
|
LOG(DEBUG) << "ConnectionCreator was cleared" << timer;
|
||||||
@ -3327,92 +3317,50 @@ void Td::clear() {
|
|||||||
LOG(DEBUG) << "TempAuthKeyWatchdog was cleared" << timer;
|
LOG(DEBUG) << "TempAuthKeyWatchdog was cleared" << timer;
|
||||||
|
|
||||||
// clear actors which are unique pointers
|
// clear actors which are unique pointers
|
||||||
account_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(account_manager_actor_)));
|
||||||
LOG(DEBUG) << "AccountManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(animations_manager_actor_)));
|
||||||
animations_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(attach_menu_manager_actor_)));
|
||||||
LOG(DEBUG) << "AnimationsManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(auth_manager_actor_)));
|
||||||
attach_menu_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(autosave_manager_actor_)));
|
||||||
LOG(DEBUG) << "AttachMenuManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(background_manager_actor_)));
|
||||||
auth_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(boost_manager_actor_)));
|
||||||
LOG(DEBUG) << "AuthManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(bot_info_manager_actor_)));
|
||||||
autosave_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(common_dialog_manager_actor_)));
|
||||||
LOG(DEBUG) << "AutosaveManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(contacts_manager_actor_)));
|
||||||
background_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(country_info_manager_actor_)));
|
||||||
LOG(DEBUG) << "BackgroundManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(dialog_action_manager_actor_)));
|
||||||
boost_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(dialog_filter_manager_actor_)));
|
||||||
LOG(DEBUG) << "BoostManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(dialog_invite_link_manager_actor_)));
|
||||||
bot_info_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(dialog_manager_actor_)));
|
||||||
LOG(DEBUG) << "BotInfoManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(dialog_participant_manager_actor_)));
|
||||||
common_dialog_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(download_manager_actor_)));
|
||||||
LOG(DEBUG) << "CommonDialogManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(file_manager_actor_)));
|
||||||
contacts_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(file_reference_manager_actor_)));
|
||||||
LOG(DEBUG) << "ContactsManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(forum_topic_manager_actor_)));
|
||||||
country_info_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(game_manager_actor_)));
|
||||||
LOG(DEBUG) << "CountryInfoManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(group_call_manager_actor_)));
|
||||||
dialog_action_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(inline_queries_manager_actor_)));
|
||||||
LOG(DEBUG) << "DialogActionManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(link_manager_actor_)));
|
||||||
dialog_filter_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(message_import_manager_actor_)));
|
||||||
LOG(DEBUG) << "DialogFilterManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(messages_manager_actor_)));
|
||||||
dialog_invite_link_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(notification_manager_actor_)));
|
||||||
LOG(DEBUG) << "DialogInviteLinkManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(notification_settings_manager_actor_)));
|
||||||
dialog_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(poll_manager_actor_)));
|
||||||
LOG(DEBUG) << "DialogManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(privacy_manager_actor_)));
|
||||||
dialog_participant_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(reaction_manager_actor_)));
|
||||||
LOG(DEBUG) << "DialogParticipantManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(sponsored_message_manager_actor_)));
|
||||||
download_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(statistics_manager_actor_)));
|
||||||
LOG(DEBUG) << "DownloadManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(stickers_manager_actor_)));
|
||||||
file_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(story_manager_actor_)));
|
||||||
LOG(DEBUG) << "FileManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(theme_manager_actor_)));
|
||||||
file_reference_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(top_dialog_manager_actor_)));
|
||||||
LOG(DEBUG) << "FileReferenceManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(transcription_manager_actor_)));
|
||||||
forum_topic_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(translation_manager_actor_)));
|
||||||
LOG(DEBUG) << "ForumTopicManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(updates_manager_actor_)));
|
||||||
game_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(video_notes_manager_actor_)));
|
||||||
LOG(DEBUG) << "GameManager actor was cleared" << timer;
|
reset_actor(ActorOwn<Actor>(std::move(voice_notes_manager_actor_)));
|
||||||
group_call_manager_actor_.reset();
|
reset_actor(ActorOwn<Actor>(std::move(web_pages_manager_actor_)));
|
||||||
LOG(DEBUG) << "GroupCallManager actor was cleared" << timer;
|
LOG(DEBUG) << "All actors were cleared" << timer;
|
||||||
inline_queries_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "InlineQueriesManager actor was cleared" << timer;
|
|
||||||
link_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "LinkManager actor was cleared" << timer;
|
|
||||||
message_import_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "MessageImportManager actor was cleared" << timer;
|
|
||||||
messages_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "MessagesManager actor was cleared" << timer;
|
|
||||||
notification_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "NotificationManager actor was cleared" << timer;
|
|
||||||
notification_settings_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "NotificationSettingsManager actor was cleared" << timer;
|
|
||||||
poll_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "PollManager actor was cleared" << timer;
|
|
||||||
privacy_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "PrivacyManager actor was cleared" << timer;
|
|
||||||
reaction_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "ReactionManager actor was cleared" << timer;
|
|
||||||
sponsored_message_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "SponsoredMessageManager actor was cleared" << timer;
|
|
||||||
statistics_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "StatisticsManager actor was cleared" << timer;
|
|
||||||
stickers_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "StickersManager actor was cleared" << timer;
|
|
||||||
story_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "StoryManager actor was cleared" << timer;
|
|
||||||
theme_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "ThemeManager actor was cleared" << timer;
|
|
||||||
top_dialog_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "TopDialogManager actor was cleared" << timer;
|
|
||||||
transcription_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "TranscriptionManager actor was cleared" << timer;
|
|
||||||
translation_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "TranslationManager actor was cleared" << timer;
|
|
||||||
updates_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "UpdatesManager actor was cleared" << timer;
|
|
||||||
video_notes_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "VideoNotesManager actor was cleared" << timer;
|
|
||||||
voice_notes_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "VoiceNotesManager actor was cleared" << timer;
|
|
||||||
web_pages_manager_actor_.reset();
|
|
||||||
LOG(DEBUG) << "WebPagesManager actor was cleared" << timer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Td::close() {
|
void Td::close() {
|
||||||
|
Loading…
Reference in New Issue
Block a user