BinlogHelper:: -> binlog_

GitOrigin-RevId: 94cf4585c4f61be2929c5a7cd1a3628b911bc4c5
This commit is contained in:
Arseny Smirnov 2018-06-28 16:52:40 +03:00
parent 05bb41b250
commit 80d4292493
6 changed files with 151 additions and 153 deletions

View File

@ -5154,9 +5154,9 @@ void ContactsManager::save_user(User *u, UserId user_id, bool from_binlog) {
auto logevent = UserLogEvent(user_id, *u);
auto storer = LogEventStorerImpl<UserLogEvent>(logevent);
if (u->logevent_id == 0) {
u->logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::Users, storer);
u->logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::Users, storer);
} else {
BinlogHelper::rewrite(G()->td_db()->get_binlog(), u->logevent_id, LogEvent::HandlerType::Users, storer);
binlog_rewrite(G()->td_db()->get_binlog(), u->logevent_id, LogEvent::HandlerType::Users, storer);
}
}
@ -5166,7 +5166,7 @@ void ContactsManager::save_user(User *u, UserId user_id, bool from_binlog) {
void ContactsManager::on_binlog_user_event(BinlogEvent &&event) {
if (!G()->parameters().use_chat_info_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
return;
}
@ -5242,7 +5242,7 @@ void ContactsManager::on_save_user_to_database(UserId user_id, bool success) {
}
if (u->is_saved && u->is_status_saved) {
if (u->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), u->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), u->logevent_id);
u->logevent_id = 0;
}
} else {
@ -5308,7 +5308,7 @@ void ContactsManager::on_load_user_from_database(UserId user_id, string value) {
if (value != new_value) {
save_user_to_database_impl(u, user_id, std::move(new_value));
} else if (u->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), u->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), u->logevent_id);
u->logevent_id = 0;
}
}
@ -5402,9 +5402,9 @@ void ContactsManager::save_chat(Chat *c, ChatId chat_id, bool from_binlog) {
auto logevent = ChatLogEvent(chat_id, *c);
auto storer = LogEventStorerImpl<ChatLogEvent>(logevent);
if (c->logevent_id == 0) {
c->logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::Chats, storer);
c->logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::Chats, storer);
} else {
BinlogHelper::rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::Chats, storer);
binlog_rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::Chats, storer);
}
}
@ -5415,7 +5415,7 @@ void ContactsManager::save_chat(Chat *c, ChatId chat_id, bool from_binlog) {
void ContactsManager::on_binlog_chat_event(BinlogEvent &&event) {
if (!G()->parameters().use_chat_info_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
return;
}
@ -5484,7 +5484,7 @@ void ContactsManager::on_save_chat_to_database(ChatId chat_id, bool success) {
}
if (c->is_saved) {
if (c->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), c->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), c->logevent_id);
c->logevent_id = 0;
}
} else {
@ -5549,7 +5549,7 @@ void ContactsManager::on_load_chat_from_database(ChatId chat_id, string value) {
if (value != new_value) {
save_chat_to_database_impl(c, chat_id, std::move(new_value));
} else if (c->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), c->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), c->logevent_id);
c->logevent_id = 0;
}
}
@ -5625,9 +5625,9 @@ void ContactsManager::save_channel(Channel *c, ChannelId channel_id, bool from_b
auto logevent = ChannelLogEvent(channel_id, *c);
auto storer = LogEventStorerImpl<ChannelLogEvent>(logevent);
if (c->logevent_id == 0) {
c->logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::Channels, storer);
c->logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::Channels, storer);
} else {
BinlogHelper::rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::Channels, storer);
binlog_rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::Channels, storer);
}
}
@ -5638,7 +5638,7 @@ void ContactsManager::save_channel(Channel *c, ChannelId channel_id, bool from_b
void ContactsManager::on_binlog_channel_event(BinlogEvent &&event) {
if (!G()->parameters().use_chat_info_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
return;
}
@ -5708,7 +5708,7 @@ void ContactsManager::on_save_channel_to_database(ChannelId channel_id, bool suc
}
if (c->is_saved) {
if (c->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), c->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), c->logevent_id);
c->logevent_id = 0;
}
} else {
@ -5773,7 +5773,7 @@ void ContactsManager::on_load_channel_from_database(ChannelId channel_id, string
if (value != new_value) {
save_channel_to_database_impl(c, channel_id, std::move(new_value));
} else if (c->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), c->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), c->logevent_id);
c->logevent_id = 0;
}
}
@ -5842,9 +5842,9 @@ void ContactsManager::save_secret_chat(SecretChat *c, SecretChatId secret_chat_i
auto logevent = SecretChatLogEvent(secret_chat_id, *c);
auto storer = LogEventStorerImpl<SecretChatLogEvent>(logevent);
if (c->logevent_id == 0) {
c->logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SecretChatInfos, storer);
c->logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SecretChatInfos, storer);
} else {
BinlogHelper::rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::SecretChatInfos,
binlog_rewrite(G()->td_db()->get_binlog(), c->logevent_id, LogEvent::HandlerType::SecretChatInfos,
storer);
}
}
@ -5856,7 +5856,7 @@ void ContactsManager::save_secret_chat(SecretChat *c, SecretChatId secret_chat_i
void ContactsManager::on_binlog_secret_chat_event(BinlogEvent &&event) {
if (!G()->parameters().use_chat_info_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
return;
}
@ -5927,7 +5927,7 @@ void ContactsManager::on_save_secret_chat_to_database(SecretChatId secret_chat_i
}
if (c->is_saved) {
if (c->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), c->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), c->logevent_id);
c->logevent_id = 0;
}
} else {
@ -5993,7 +5993,7 @@ void ContactsManager::on_load_secret_chat_from_database(SecretChatId secret_chat
if (value != new_value) {
save_secret_chat_to_database_impl(c, secret_chat_id, std::move(new_value));
} else if (c->logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), c->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), c->logevent_id);
c->logevent_id = 0;
}
}

View File

@ -6696,7 +6696,7 @@ void MessagesManager::change_dialog_report_spam_state_on_server(DialogId dialog_
logevent.is_spam_dialog_ = is_spam_dialog;
auto storer = LogEventStorerImpl<ChangeDialogReportSpamStateOnServerLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(),
logevent_id = binlog_add(G()->td_db()->get_binlog(),
LogEvent::HandlerType::ChangeDialogReportSpamStateOnServer, storer);
}
@ -8284,7 +8284,7 @@ void MessagesManager::delete_messages_from_server(DialogId dialog_id, vector<Mes
auto storer = LogEventStorerImpl<DeleteMessagesFromServerLogEvent>(logevent);
logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteMessagesFromServer, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteMessagesFromServer, storer);
}
auto new_promise = get_erase_logevent_promise(logevent_id, std::move(promise));
@ -8422,7 +8422,7 @@ void MessagesManager::delete_dialog_history_from_server(DialogId dialog_id, Mess
auto storer = LogEventStorerImpl<DeleteDialogHistoryFromServerLogEvent>(logevent);
logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteDialogHistoryFromServer, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteDialogHistoryFromServer, storer);
}
auto new_promise = get_erase_logevent_promise(logevent_id, std::move(promise));
@ -8620,7 +8620,7 @@ void MessagesManager::delete_all_channel_messages_from_user_on_server(ChannelId
logevent.user_id_ = user_id;
auto storer = LogEventStorerImpl<DeleteAllChannelMessagesFromUserOnServerLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(),
logevent_id = binlog_add(G()->td_db()->get_binlog(),
LogEvent::HandlerType::DeleteAllChannelMessagesFromUserOnServer, storer);
}
@ -8823,7 +8823,7 @@ void MessagesManager::read_all_dialog_mentions_on_server(DialogId dialog_id, uin
auto storer = LogEventStorerImpl<ReadAllDialogMentionsOnServerLogEvent>(logevent);
logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadAllDialogMentionsOnServer, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadAllDialogMentionsOnServer, storer);
}
LOG(INFO) << "Read all mentions on server in " << dialog_id;
@ -12577,11 +12577,11 @@ Status MessagesManager::set_dialog_draft_message(DialogId dialog_id,
logevent.dialog_id_ = dialog_id;
auto storer = LogEventStorerImpl<SaveDialogDraftMessageOnServerLogEvent>(logevent);
if (d->save_draft_message_logevent_id == 0) {
d->save_draft_message_logevent_id = BinlogHelper::add(
d->save_draft_message_logevent_id = binlog_add(
G()->td_db()->get_binlog(), LogEvent::HandlerType::SaveDialogDraftMessageOnServer, storer);
LOG(INFO) << "Add draft logevent " << d->save_draft_message_logevent_id;
} else {
auto new_logevent_id = BinlogHelper::rewrite(G()->td_db()->get_binlog(), d->save_draft_message_logevent_id,
auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), d->save_draft_message_logevent_id,
LogEvent::HandlerType::SaveDialogDraftMessageOnServer, storer);
LOG(INFO) << "Rewrite draft logevent " << d->save_draft_message_logevent_id << " with " << new_logevent_id;
}
@ -12620,7 +12620,7 @@ void MessagesManager::on_saved_dialog_draft_message(DialogId dialog_id, uint64 g
if (d->save_draft_message_logevent_id_generation == generation) {
CHECK(d->save_draft_message_logevent_id != 0);
LOG(INFO) << "Delete draft logevent " << d->save_draft_message_logevent_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), d->save_draft_message_logevent_id);
binlog_erase(G()->td_db()->get_binlog(), d->save_draft_message_logevent_id);
d->save_draft_message_logevent_id = 0;
}
}
@ -12713,7 +12713,7 @@ void MessagesManager::toggle_dialog_is_pinned_on_server(DialogId dialog_id, bool
auto storer = LogEventStorerImpl<ToggleDialogIsPinnedOnServerLogEvent>(logevent);
logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ToggleDialogIsPinnedOnServer, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ToggleDialogIsPinnedOnServer, storer);
}
td_->create_handler<ToggleDialogPinQuery>(get_erase_logevent_promise(logevent_id))->send(dialog_id, is_pinned);
@ -12811,7 +12811,7 @@ void MessagesManager::reorder_pinned_dialogs_on_server(const vector<DialogId> &d
auto storer = LogEventStorerImpl<ReorderPinnedDialogsOnServerLogEvent>(logevent);
logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReorderPinnedDialogsOnServer, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReorderPinnedDialogsOnServer, storer);
}
td_->create_handler<ReorderPinnedDialogsQuery>(get_erase_logevent_promise(logevent_id))->send(dialog_ids);
@ -12868,7 +12868,7 @@ void MessagesManager::toggle_dialog_is_marked_as_unread_on_server(DialogId dialo
logevent.is_marked_as_unread_ = is_marked_as_unread;
auto storer = LogEventStorerImpl<ToggleDialogIsMarkedAsUnreadOnServerLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(),
logevent_id = binlog_add(G()->td_db()->get_binlog(),
LogEvent::HandlerType::ToggleDialogIsMarkedAsUnreadOnServer, storer);
}
@ -12919,12 +12919,12 @@ void MessagesManager::update_dialog_notification_settings_on_server(DialogId dia
logevent.dialog_id_ = dialog_id;
auto storer = LogEventStorerImpl<UpdateDialogNotificationSettingsOnServerLogEvent>(logevent);
if (d->save_notification_settings_logevent_id == 0) {
d->save_notification_settings_logevent_id = BinlogHelper::add(
d->save_notification_settings_logevent_id = binlog_add(
G()->td_db()->get_binlog(), LogEvent::HandlerType::UpdateDialogNotificationSettingsOnServer, storer);
LOG(INFO) << "Add notification settings logevent " << d->save_notification_settings_logevent_id;
} else {
auto new_logevent_id =
BinlogHelper::rewrite(G()->td_db()->get_binlog(), d->save_notification_settings_logevent_id,
binlog_rewrite(G()->td_db()->get_binlog(), d->save_notification_settings_logevent_id,
LogEvent::HandlerType::UpdateDialogNotificationSettingsOnServer, storer);
LOG(INFO) << "Rewrite notification settings logevent " << d->save_notification_settings_logevent_id << " with "
<< new_logevent_id;
@ -12955,7 +12955,7 @@ void MessagesManager::on_updated_dialog_notification_settings(DialogId dialog_id
if (d->save_notification_settings_logevent_id_generation == generation) {
CHECK(d->save_notification_settings_logevent_id != 0);
LOG(INFO) << "Delete notification settings logevent " << d->save_notification_settings_logevent_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), d->save_notification_settings_logevent_id);
binlog_erase(G()->td_db()->get_binlog(), d->save_notification_settings_logevent_id);
d->save_notification_settings_logevent_id = 0;
}
}
@ -13280,7 +13280,7 @@ void MessagesManager::read_message_contents_on_server(DialogId dialog_id, vector
auto storer = LogEventStorerImpl<ReadMessageContentsOnServerLogEvent>(logevent);
logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadMessageContentsOnServer, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadMessageContentsOnServer, storer);
}
auto promise = get_erase_logevent_promise(logevent_id);
@ -13693,7 +13693,7 @@ void MessagesManager::update_scope_notification_settings_on_server(NotificationS
logevent.scope_ = scope;
auto storer = LogEventStorerImpl<UpdateScopeNotificationSettingsOnServerLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(),
logevent_id = binlog_add(G()->td_db()->get_binlog(),
LogEvent::HandlerType::UpdateScopeNotificationSettingsOnServer, storer);
}
@ -13735,7 +13735,7 @@ void MessagesManager::reset_all_notification_settings_on_server(uint64 logevent_
if (logevent_id == 0) {
ResetAllNotificationSettingsOnServerLogEvent logevent;
auto storer = LogEventStorerImpl<ResetAllNotificationSettingsOnServerLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(),
logevent_id = binlog_add(G()->td_db()->get_binlog(),
LogEvent::HandlerType::ResetAllNotificationSettingsOnServer, storer);
}
@ -13988,10 +13988,10 @@ void MessagesManager::read_history_on_server(Dialog *d, MessageId max_message_id
auto storer = LogEventStorerImpl<ReadHistoryInSecretChatLogEvent>(logevent);
if (d->read_history_logevent_id == 0) {
d->read_history_logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadHistoryInSecretChat, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadHistoryInSecretChat, storer);
LOG(INFO) << "Add read history logevent " << d->read_history_logevent_id;
} else {
auto new_logevent_id = BinlogHelper::rewrite(G()->td_db()->get_binlog(), d->read_history_logevent_id,
auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), d->read_history_logevent_id,
LogEvent::HandlerType::ReadHistoryInSecretChat, storer);
LOG(INFO) << "Rewrite read history logevent " << d->read_history_logevent_id << " with " << new_logevent_id;
}
@ -14004,10 +14004,10 @@ void MessagesManager::read_history_on_server(Dialog *d, MessageId max_message_id
auto storer = LogEventStorerImpl<ReadHistoryOnServerLogEvent>(logevent);
if (d->read_history_logevent_id == 0) {
d->read_history_logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadHistoryOnServer, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ReadHistoryOnServer, storer);
LOG(INFO) << "Add read history logevent " << d->read_history_logevent_id;
} else {
auto new_logevent_id = BinlogHelper::rewrite(G()->td_db()->get_binlog(), d->read_history_logevent_id,
auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), d->read_history_logevent_id,
LogEvent::HandlerType::ReadHistoryOnServer, storer);
LOG(INFO) << "Rewrite read history logevent " << d->read_history_logevent_id << " with " << new_logevent_id;
}
@ -14080,7 +14080,7 @@ void MessagesManager::on_read_history_finished(DialogId dialog_id, uint64 genera
if (d->read_history_logevent_id_generation == generation) {
CHECK(d->read_history_logevent_id != 0);
LOG(INFO) << "Delete read history logevent " << d->read_history_logevent_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), d->read_history_logevent_id);
binlog_erase(G()->td_db()->get_binlog(), d->read_history_logevent_id);
d->read_history_logevent_id = 0;
}
}
@ -16229,7 +16229,7 @@ void MessagesManager::cancel_send_message_query(DialogId dialog_id, unique_ptr<M
if (m->send_message_logevent_id != 0) {
LOG(INFO) << "Delete send message log event for " << m->message_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), m->send_message_logevent_id);
binlog_erase(G()->td_db()->get_binlog(), m->send_message_logevent_id);
m->send_message_logevent_id = 0;
}
@ -17062,7 +17062,7 @@ void MessagesManager::save_send_message_logevent(DialogId dialog_id, Message *m)
auto storer = LogEventStorerImpl<SendMessageLogEvent>(logevent);
CHECK(m->send_message_logevent_id == 0);
m->send_message_logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendMessage, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendMessage, storer);
}
void MessagesManager::do_send_message(DialogId dialog_id, Message *m, vector<int> bad_parts) {
@ -17653,7 +17653,7 @@ void MessagesManager::save_send_bot_start_message_logevent(UserId bot_user_id, D
auto storer = LogEventStorerImpl<SendBotStartMessageLogEvent>(logevent);
CHECK(m->send_message_logevent_id == 0);
m->send_message_logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendBotStartMessage, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendBotStartMessage, storer);
}
void MessagesManager::do_send_bot_start_message(UserId bot_user_id, DialogId dialog_id, const string &parameter,
@ -17793,7 +17793,7 @@ void MessagesManager::save_send_inline_query_result_message_logevent(DialogId di
auto storer = LogEventStorerImpl<SendInlineQueryResultMessageLogEvent>(logevent);
CHECK(m->send_message_logevent_id == 0);
m->send_message_logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendInlineQueryResultMessage, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendInlineQueryResultMessage, storer);
}
void MessagesManager::do_send_inline_query_result_message(DialogId dialog_id, Message *m, int64 query_id,
@ -18915,7 +18915,7 @@ void MessagesManager::do_forward_messages(DialogId to_dialog_id, DialogId from_d
if (logevent_id == 0 && G()->parameters().use_message_db) {
auto logevent = ForwardMessagesLogEvent{to_dialog_id, from_dialog_id, message_ids, messages, Auto()};
auto storer = LogEventStorerImpl<ForwardMessagesLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ForwardMessages, storer);
logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::ForwardMessages, storer);
}
int32 flags = 0;
@ -19230,7 +19230,7 @@ uint64 MessagesManager::save_send_screenshot_taken_notification_message_logevent
logevent.dialog_id = dialog_id;
logevent.m_in = m;
auto storer = LogEventStorerImpl<SendScreenshotTakenNotificationMessageLogEvent>(logevent);
return BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendScreenshotTakenNotificationMessage,
return binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SendScreenshotTakenNotificationMessage,
storer);
}
@ -19980,7 +19980,7 @@ void MessagesManager::on_send_message_file_part_missing(int64 random_id, int bad
auto logevent = SendMessageLogEvent(dialog_id, m);
auto storer = LogEventStorerImpl<SendMessageLogEvent>(logevent);
CHECK(m->send_message_logevent_id != 0);
BinlogHelper::rewrite(G()->td_db()->get_binlog(), m->send_message_logevent_id, LogEvent::HandlerType::SendMessage,
binlog_rewrite(G()->td_db()->get_binlog(), m->send_message_logevent_id, LogEvent::HandlerType::SendMessage,
storer);
}
@ -20553,13 +20553,13 @@ class MessagesManager::GetDialogFromServerLogEvent {
void MessagesManager::send_get_dialog_query(DialogId dialog_id, Promise<Unit> &&promise, uint64 logevent_id) {
if (td_->auth_manager_->is_bot() || dialog_id.get_type() == DialogType::SecretChat) {
if (logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_id);
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
}
return promise.set_error(Status::Error(500, "Wrong getDialog query"));
}
if (!have_input_peer(dialog_id, AccessRights::Read)) {
if (logevent_id != 0) {
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_id);
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
}
return promise.set_error(Status::Error(400, "Can't access the chat"));
}
@ -20569,7 +20569,7 @@ void MessagesManager::send_get_dialog_query(DialogId dialog_id, Promise<Unit> &&
if (promises.size() != 1) {
if (logevent_id != 0) {
LOG(ERROR) << "Duplicate getDialog query for " << dialog_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_id);
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
}
// query has already been sent, just wait for the result
return;
@ -20580,7 +20580,7 @@ void MessagesManager::send_get_dialog_query(DialogId dialog_id, Promise<Unit> &&
logevent.dialog_id_ = dialog_id;
auto storer = LogEventStorerImpl<GetDialogFromServerLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::GetDialogFromServer, storer);
logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::GetDialogFromServer, storer);
}
if (logevent_id != 0) {
get_dialog_query_logevent_id_[dialog_id] = logevent_id;
@ -20599,7 +20599,7 @@ void MessagesManager::on_get_dialog_query_finished(DialogId dialog_id, Status &&
auto logevent_it = get_dialog_query_logevent_id_.find(dialog_id);
if (logevent_it != get_dialog_query_logevent_id_.end()) {
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_it->second);
binlog_erase(G()->td_db()->get_binlog(), logevent_it->second);
get_dialog_query_logevent_id_.erase(logevent_it);
}
@ -23621,7 +23621,7 @@ void MessagesManager::do_delete_message_logevent(const DeleteMessageLogEvent &lo
auto logevent_id = logevent.id_;
if (!logevent_id) {
auto storer = LogEventStorerImpl<DeleteMessageLogEvent>(logevent);
logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteMessage, storer);
logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::DeleteMessage, storer);
}
MultiPromiseActorSafe mpas;
@ -23629,7 +23629,7 @@ void MessagesManager::do_delete_message_logevent(const DeleteMessageLogEvent &lo
if (result.is_error()) {
return;
}
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_id);
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
}));
auto lock = mpas.get_promise();
@ -25290,7 +25290,7 @@ void MessagesManager::get_channel_difference(DialogId dialog_id, int32 pts, bool
auto logevent = GetChannelDifferenceLogEvent(channel_id, access_hash);
auto storer = LogEventStorerImpl<GetChannelDifferenceLogEvent>(logevent);
auto logevent_id =
BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::GetChannelDifference, storer);
binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::GetChannelDifference, storer);
get_channel_difference_to_logevent_id_.emplace(dialog_id, logevent_id);
}
@ -25607,7 +25607,7 @@ void MessagesManager::after_get_channel_difference(DialogId dialog_id, bool succ
auto logevent_it = get_channel_difference_to_logevent_id_.find(dialog_id);
if (logevent_it != get_channel_difference_to_logevent_id_.end()) {
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_it->second);
binlog_erase(G()->td_db()->get_binlog(), logevent_it->second);
get_channel_difference_to_logevent_id_.erase(logevent_it);
}
@ -25718,7 +25718,7 @@ MessagesManager::Message *MessagesManager::continue_send_message(DialogId dialog
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr) {
LOG(ERROR) << "Can't find " << dialog_id << " to resend a message";
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_id);
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
return nullptr;
}
@ -25731,7 +25731,7 @@ MessagesManager::Message *MessagesManager::continue_send_message(DialogId dialog
LOG(INFO) << "Continue to send " << m->message_id << " to " << dialog_id << " from binlog";
if (!have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_id);
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
return nullptr;
}
@ -25765,7 +25765,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
switch (event.type_) {
case LogEvent::HandlerType::SendMessage: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25778,7 +25778,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
if (m->content->get_id() == MessageUnsupported::ID) {
LOG(ERROR) << "Message content is invalid: " << format::as_hex_dump<4>(Slice(event.data_));
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
continue;
}
@ -25797,7 +25797,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::SendBotStartMessage: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25818,7 +25818,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto bot_user_id = log_event.bot_user_id;
if (!td_->contacts_manager_->have_user_force(bot_user_id)) {
LOG(ERROR) << "Can't find bot " << bot_user_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
continue;
}
@ -25830,7 +25830,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::SendInlineQueryResultMessage: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25843,7 +25843,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
if (m->content->get_id() == MessageUnsupported::ID) {
LOG(ERROR) << "Message content is invalid: " << format::as_hex_dump<4>(Slice(event.data_));
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
continue;
}
@ -25862,7 +25862,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::SendScreenshotTakenNotificationMessage: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25888,7 +25888,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ForwardMessages: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25910,13 +25910,13 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
Dialog *to_dialog = get_dialog_force(to_dialog_id);
if (to_dialog == nullptr) {
LOG(ERROR) << "Can't find " << to_dialog_id << " to forward messages to";
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
continue;
}
Dialog *from_dialog = get_dialog_force(from_dialog_id);
if (from_dialog == nullptr) {
LOG(ERROR) << "Can't find " << from_dialog_id << " to forward messages from";
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
continue;
}
for (auto &m : messages) {
@ -25931,7 +25931,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
LOG(INFO) << "Continue to forward " << messages.size() << " messages to " << to_dialog_id << " from binlog";
if (!have_input_peer(from_dialog_id, AccessRights::Read) || can_send_message(to_dialog_id).is_error()) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25953,7 +25953,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::DeleteMessage: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25971,7 +25971,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::DeleteMessagesFromServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25981,7 +25981,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -25992,7 +25992,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::DeleteDialogHistoryFromServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26002,7 +26002,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26012,7 +26012,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::DeleteAllChannelMessagesFromUserOnServer: {
if (!G()->parameters().use_chat_info_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26022,14 +26022,14 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto channel_id = log_event.channel_id_;
if (!td_->contacts_manager_->have_channel_force(channel_id)) {
LOG(ERROR) << "Can't find " << channel_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
auto user_id = log_event.user_id_;
if (!td_->contacts_manager_->have_user_force(user_id)) {
LOG(ERROR) << "Can't find user " << user_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26038,7 +26038,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ReadHistoryOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26048,12 +26048,12 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
if (d->read_history_logevent_id != 0) {
// we need only latest read history event
BinlogHelper::erase(G()->td_db()->get_binlog(), d->read_history_logevent_id);
binlog_erase(G()->td_db()->get_binlog(), d->read_history_logevent_id);
}
d->read_history_logevent_id = event.id_;
d->read_history_logevent_id_generation++;
@ -26069,18 +26069,18 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
CHECK(dialog_id.get_type() == DialogType::SecretChat);
if (!td_->contacts_manager_->have_secret_chat_force(dialog_id.get_secret_chat_id())) {
LOG(ERROR) << "Have no info about " << dialog_id;
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
force_create_dialog(dialog_id, "ReadHistoryInSecretChatLogEvent");
Dialog *d = get_dialog(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
if (d->read_history_logevent_id != 0) {
// we need only latest read history event
BinlogHelper::erase(G()->td_db()->get_binlog(), d->read_history_logevent_id);
binlog_erase(G()->td_db()->get_binlog(), d->read_history_logevent_id);
}
d->read_history_logevent_id = event.id_;
d->read_history_logevent_id_generation++;
@ -26091,7 +26091,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ReadMessageContentsOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26101,7 +26101,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26110,7 +26110,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ReadAllDialogMentionsOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26120,7 +26120,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26129,7 +26129,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ToggleDialogIsPinnedOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26139,7 +26139,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26148,7 +26148,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ReorderPinnedDialogsOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26163,7 +26163,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
}
if (dialog_ids.empty()) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26172,7 +26172,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ToggleDialogIsMarkedAsUnreadOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26182,7 +26182,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26191,7 +26191,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::SaveDialogDraftMessageOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26201,7 +26201,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Write)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
d->save_draft_message_logevent_id = event.id_;
@ -26212,7 +26212,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::UpdateDialogNotificationSettingsOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26222,7 +26222,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
d->save_notification_settings_logevent_id = event.id_;
@ -26247,7 +26247,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::ChangeDialogReportSpamStateOnServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26257,7 +26257,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
auto dialog_id = log_event.dialog_id_;
Dialog *d = get_dialog_force(dialog_id);
if (d == nullptr || !have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26266,7 +26266,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
}
case LogEvent::HandlerType::GetDialogFromServer: {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}
@ -26281,7 +26281,7 @@ void MessagesManager::on_binlog_events(vector<BinlogEvent> &&events) {
get_dialog_force(dialog_id); // load it if exists
if (!have_input_peer(dialog_id, AccessRights::Read)) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
break;
}

View File

@ -83,7 +83,7 @@ void SecretChatActor::create_chat(int32 user_id, int64 user_access_hash, int32 r
event->user_access_hash = user_access_hash;
event->random_id = random_id;
event->set_logevent_id(
BinlogHelper::add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event)));
binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event)));
do_create_chat_impl(std::move(event));
promise.set_value(SecretChatId(random_id));
loop();
@ -699,17 +699,17 @@ void SecretChatActor::cancel_chat(Promise<> promise) {
// TODO: It must be a transaction
for (auto id : to_delete) {
BinlogHelper::erase(context_->binlog(), id);
binlog_erase(context_->binlog(), id);
}
if (create_logevent_id_ != 0) {
BinlogHelper::erase(context_->binlog(), create_logevent_id_);
binlog_erase(context_->binlog(), create_logevent_id_);
create_logevent_id_ = 0;
}
auto event = std::make_unique<logevent::CloseSecretChat>();
event->chat_id = auth_state_.id;
event->set_logevent_id(
BinlogHelper::add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event)));
binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*event)));
auto on_sync = PromiseCreator::lambda(
[actor_id = actor_id(this), event = std::move(event), promise = std::move(promise)](Result<Unit> result) mutable {
@ -761,14 +761,14 @@ void SecretChatActor::do_create_chat_impl(std::unique_ptr<logevent::CreateSecret
} else if (auth_state_.state == State::SendRequest) {
} else if (auth_state_.state == State::WaitRequestResponse) {
} else {
BinlogHelper::erase(context_->binlog(), create_logevent_id_);
binlog_erase(context_->binlog(), create_logevent_id_);
create_logevent_id_ = 0;
}
}
void SecretChatActor::on_discard_encryption_result(NetQueryPtr result) {
CHECK(close_flag_);
LOG(INFO) << "Got result for messages.discardEncryption";
BinlogHelper::erase(context_->binlog(), close_logevent_id_);
binlog_erase(context_->binlog(), close_logevent_id_);
// skip flush
stop();
}
@ -956,7 +956,7 @@ Status SecretChatActor::do_inbound_message_decrypted_unchecked(
message->qts_ack.set_value(Unit());
if (message->logevent_id()) {
LOG(INFO) << "Erase binlog event: " << tag("logevent_id", message->logevent_id());
BinlogHelper::erase(context_->binlog(), message->logevent_id());
binlog_erase(context_->binlog(), message->logevent_id());
}
auto warning_message = PSTRING() << status << tag("seq_no_state_.my_in_seq_no", seq_no_state_.my_in_seq_no)
<< tag("seq_no_state_.my_out_seq_no", seq_no_state_.my_out_seq_no)
@ -1087,7 +1087,7 @@ void SecretChatActor::do_outbound_message_impl(std::unique_ptr<logevent::Outboun
auto logevent_id = state->message->logevent_id();
if (logevent_id == 0) {
logevent_id =
BinlogHelper::add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*state->message));
binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*state->message));
LOG(INFO) << "Outbound secret message [save_logevent] start " << tag("logevent_id", logevent_id);
context_->binlog()->force_sync(std::move(save_logevent_finish));
state->message->set_logevent_id(logevent_id);
@ -1175,7 +1175,7 @@ Status SecretChatActor::do_inbound_message_decrypted_pending(std::unique_ptr<log
if (logevent_id == 0) {
message->is_pending = true;
message->set_logevent_id(BinlogHelper::add(context_->binlog(), LogEvent::HandlerType::SecretChats,
message->set_logevent_id(binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats,
create_storer(*message), std::move(qts_promise)));
LOG(INFO) << "Inbound PENDING secret message [save_logevent] start (do not expect finish) "
<< tag("logevent_id", message->logevent_id());
@ -1210,15 +1210,15 @@ Status SecretChatActor::do_inbound_message_decrypted(std::unique_ptr<logevent::I
auto logevent_id = message->logevent_id();
bool need_sync = false;
if (logevent_id == 0) {
logevent_id = BinlogHelper::add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*message));
logevent_id = binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*message));
LOG(INFO) << "Inbound secret message [save_logevent] start " << tag("logevent_id", logevent_id);
need_sync = true;
} else {
if (message->is_pending) {
message->is_pending = false;
auto old_logevent_id = logevent_id;
logevent_id = BinlogHelper::add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*message));
BinlogHelper::erase(context_->binlog(), old_logevent_id);
logevent_id = binlog_add(context_->binlog(), LogEvent::HandlerType::SecretChats, create_storer(*message));
binlog_erase(context_->binlog(), old_logevent_id);
LOG(INFO) << "Inbound secret message [save_logevent] rewrite (after pending state) "
<< tag("logevent_id", logevent_id) << tag("old_logevent_id", old_logevent_id);
need_sync = true;
@ -1422,7 +1422,7 @@ void SecretChatActor::inbound_loop(InboundMessageState *state, uint64 state_id)
return;
}
LOG(INFO) << "Inbound message [remove_logevent] start " << tag("logevent_id", state->logevent_id);
BinlogHelper::erase(context_->binlog(), state->logevent_id);
binlog_erase(context_->binlog(), state->logevent_id);
inbound_message_states_.erase(state_id);
}
@ -1496,7 +1496,7 @@ void SecretChatActor::outbound_resend(uint64 state_id) {
LOG(INFO) << "Oubound message [resend] " << tag("logevent_id", state->message->logevent_id())
<< tag("state_id", state_id);
BinlogHelper::rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats,
binlog_rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats,
create_storer(*state->message));
auto send_message_start = PromiseCreator::lambda([actor_id = actor_id(this), state_id](Result<> result) {
if (result.is_ok()) {
@ -1535,7 +1535,7 @@ Status SecretChatActor::outbound_rewrite_with_empty(uint64 state_id) {
state->message->is_external = false;
state->message->is_service = true;
state->message->file = logevent::EncryptedInputFile::from_input_encrypted_file(nullptr);
BinlogHelper::rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats,
binlog_rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats,
create_storer(*state->message));
return Status::OK();
}
@ -1765,7 +1765,7 @@ void SecretChatActor::outbound_loop(OutboundMessageState *state, uint64 state_id
}
if (state->save_changes_finish_flag /*&& state->send_message_finish_flag*/ && state->ack_flag) {
LOG(INFO) << "Outbound message [remove_logevent] start " << tag("logevent_id", state->message->logevent_id());
BinlogHelper::erase(context_->binlog(), state->message->logevent_id());
binlog_erase(context_->binlog(), state->message->logevent_id());
random_id_to_outbound_message_state_token_.erase(state->message->random_id);
LOG(INFO) << "Outbound message finish (lazy) " << tag("logevent_id", state->message->logevent_id());
@ -1777,7 +1777,7 @@ void SecretChatActor::outbound_loop(OutboundMessageState *state, uint64 state_id
!state->message->is_sent) { // [rewrite_logevent]
LOG(INFO) << "Outbound message [rewrite_logevent] start " << tag("logevent_id", state->message->logevent_id());
state->message->is_sent = true;
BinlogHelper::rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats,
binlog_rewrite(context_->binlog(), state->message->logevent_id(), LogEvent::HandlerType::SecretChats,
create_storer(*state->message));
}
}
@ -1836,7 +1836,7 @@ Status SecretChatActor::on_update_chat(telegram_api::encryptedChat &update) {
}
auth_state_.state = State::Ready;
if (create_logevent_id_ != 0) {
BinlogHelper::erase(context_->binlog(), create_logevent_id_);
binlog_erase(context_->binlog(), create_logevent_id_);
create_logevent_id_ = 0;
}

View File

@ -1412,7 +1412,7 @@ WebPageId WebPagesManager::on_get_web_page(tl_object_ptr<telegram_api::WebPage>
if (web_page_to_delete != nullptr) {
if (web_page_to_delete->logevent_id != 0) {
LOG(INFO) << "Erase " << web_page_id << " from binlog";
BinlogHelper::erase(G()->td_db()->get_binlog(), web_page_to_delete->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), web_page_to_delete->logevent_id);
web_page_to_delete->logevent_id = 0;
}
web_pages_.erase(web_page_id);
@ -2636,9 +2636,9 @@ void WebPagesManager::save_web_page(WebPage *web_page, WebPageId web_page_id, bo
WebPageLogEvent logevent(web_page_id, web_page);
LogEventStorerImpl<WebPageLogEvent> storer(logevent);
if (web_page->logevent_id == 0) {
web_page->logevent_id = BinlogHelper::add(G()->td_db()->get_binlog(), LogEvent::HandlerType::WebPages, storer);
web_page->logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::WebPages, storer);
} else {
BinlogHelper::rewrite(G()->td_db()->get_binlog(), web_page->logevent_id, LogEvent::HandlerType::WebPages, storer);
binlog_rewrite(G()->td_db()->get_binlog(), web_page->logevent_id, LogEvent::HandlerType::WebPages, storer);
}
}
@ -2657,7 +2657,7 @@ string WebPagesManager::get_web_page_url_database_key(const string &url) {
void WebPagesManager::on_binlog_web_page_event(BinlogEvent &&event) {
if (!G()->parameters().use_message_db) {
BinlogHelper::erase(G()->td_db()->get_binlog(), event.id_);
binlog_erase(G()->td_db()->get_binlog(), event.id_);
return;
}
@ -2692,7 +2692,7 @@ void WebPagesManager::on_save_web_page_to_database(WebPageId web_page_id, bool s
LOG(INFO) << "Successfully saved " << web_page_id << " to database";
if (web_page->logevent_id != 0) {
LOG(INFO) << "Erase " << web_page_id << " from binlog";
BinlogHelper::erase(G()->td_db()->get_binlog(), web_page->logevent_id);
binlog_erase(G()->td_db()->get_binlog(), web_page->logevent_id);
web_page->logevent_id = 0;
}
}

View File

@ -24,7 +24,7 @@ inline Promise<Unit> get_erase_logevent_promise(uint64 logevent_id, Promise<Unit
return PromiseCreator::lambda([logevent_id, promise = std::move(promise)](Result<Unit> result) mutable {
if (!G()->close_flag()) {
BinlogHelper::erase(G()->td_db()->get_binlog(), logevent_id);
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
}
promise.set_result(std::move(result));

View File

@ -14,32 +14,30 @@
#include "td/utils/Storer.h"
namespace td {
class BinlogHelper {
public:
template <class BinlogT, class StorerT>
static uint64 add(const BinlogT &binlog_ptr, int32 type, const StorerT &storer, Promise<> promise = Promise<>()) {
auto logevent_id = binlog_ptr->next_id();
binlog_ptr->add_raw_event(logevent_id, BinlogEvent::create_raw(logevent_id, type, 0, storer), std::move(promise));
return logevent_id;
}
template <class BinlogT, class StorerT>
static uint64 binlog_add(const BinlogT &binlog_ptr, int32 type, const StorerT &storer,
Promise<> promise = Promise<>()) {
auto logevent_id = binlog_ptr->next_id();
binlog_ptr->add_raw_event(logevent_id, BinlogEvent::create_raw(logevent_id, type, 0, storer), std::move(promise));
return logevent_id;
}
template <class BinlogT, class StorerT>
static uint64 rewrite(const BinlogT &binlog_ptr, uint64 logevent_id, int32 type, const StorerT &storer,
Promise<> promise = Promise<>()) {
auto seq_no = binlog_ptr->next_id();
binlog_ptr->add_raw_event(seq_no, BinlogEvent::create_raw(logevent_id, type, BinlogEvent::Flags::Rewrite, storer),
std::move(promise));
return seq_no;
}
template <class BinlogT, class StorerT>
static uint64 binlog_rewrite(const BinlogT &binlog_ptr, uint64 logevent_id, int32 type, const StorerT &storer,
Promise<> promise = Promise<>()) {
auto seq_no = binlog_ptr->next_id();
binlog_ptr->add_raw_event(seq_no, BinlogEvent::create_raw(logevent_id, type, BinlogEvent::Flags::Rewrite, storer),
std::move(promise));
return seq_no;
}
template <class BinlogT>
static uint64 erase(const BinlogT &binlog_ptr, uint64 logevent_id, Promise<> promise = Promise<>()) {
auto seq_no = binlog_ptr->next_id();
binlog_ptr->add_raw_event(seq_no,
BinlogEvent::create_raw(logevent_id, BinlogEvent::ServiceTypes::Empty,
BinlogEvent::Flags::Rewrite, EmptyStorer()),
std::move(promise));
return seq_no;
}
};
template <class BinlogT>
static uint64 binlog_erase(const BinlogT &binlog_ptr, uint64 logevent_id, Promise<> promise = Promise<>()) {
auto seq_no = binlog_ptr->next_id();
binlog_ptr->add_raw_event(seq_no,
BinlogEvent::create_raw(logevent_id, BinlogEvent::ServiceTypes::Empty,
BinlogEvent::Flags::Rewrite, EmptyStorer()),
std::move(promise));
return seq_no;
}
} // namespace td