Always list actor_id first in lambda capture.
This commit is contained in:
parent
3b28485a3f
commit
b9473decc2
@ -295,9 +295,9 @@ void FileReferenceManager::send_query(Destination dest, FileSourceId file_source
|
||||
auto &node = add_node(dest.node_id);
|
||||
node.query->active_queries++;
|
||||
|
||||
auto promise = PromiseCreator::lambda([dest, file_source_id, actor_id = actor_id(this),
|
||||
file_manager_actor_id = G()->file_manager()](Result<Unit> result) {
|
||||
auto new_promise = PromiseCreator::lambda([dest, file_source_id, actor_id](Result<Unit> result) {
|
||||
auto promise = PromiseCreator::lambda([actor_id = actor_id(this), file_manager_actor_id = G()->file_manager(), dest,
|
||||
file_source_id](Result<Unit> result) {
|
||||
auto new_promise = PromiseCreator::lambda([actor_id, dest, file_source_id](Result<Unit> result) {
|
||||
Status status;
|
||||
if (result.is_error()) {
|
||||
status = result.move_as_error();
|
||||
|
@ -23442,9 +23442,10 @@ void MessagesManager::get_history_from_the_end_impl(const Dialog *d, bool from_d
|
||||
db_query.from_message_id = MessageId::max();
|
||||
db_query.limit = limit;
|
||||
G()->td_db()->get_message_db_async()->get_messages(
|
||||
db_query, PromiseCreator::lambda([dialog_id, old_last_database_message_id = d->last_database_message_id,
|
||||
only_local, limit, actor_id = actor_id(this), promise = std::move(promise)](
|
||||
vector<MessageDbDialogMessage> messages) mutable {
|
||||
db_query,
|
||||
PromiseCreator::lambda([actor_id = actor_id(this), dialog_id,
|
||||
old_last_database_message_id = d->last_database_message_id, only_local, limit,
|
||||
promise = std::move(promise)](vector<MessageDbDialogMessage> messages) mutable {
|
||||
send_closure(actor_id, &MessagesManager::on_get_history_from_database, dialog_id, MessageId::max(),
|
||||
old_last_database_message_id, 0, limit, true, only_local, std::move(messages),
|
||||
std::move(promise));
|
||||
@ -23497,8 +23498,8 @@ void MessagesManager::get_history_impl(const Dialog *d, MessageId from_message_i
|
||||
db_query.limit = limit;
|
||||
G()->td_db()->get_message_db_async()->get_messages(
|
||||
db_query,
|
||||
PromiseCreator::lambda([dialog_id, from_message_id, old_last_database_message_id = d->last_database_message_id,
|
||||
offset, limit, only_local, actor_id = actor_id(this),
|
||||
PromiseCreator::lambda([actor_id = actor_id(this), dialog_id, from_message_id,
|
||||
old_last_database_message_id = d->last_database_message_id, offset, limit, only_local,
|
||||
promise = std::move(promise)](vector<MessageDbDialogMessage> messages) mutable {
|
||||
send_closure(actor_id, &MessagesManager::on_get_history_from_database, dialog_id, from_message_id,
|
||||
old_last_database_message_id, offset, limit, false, only_local, std::move(messages),
|
||||
@ -23647,7 +23648,7 @@ void MessagesManager::load_dialog_scheduled_messages(DialogId dialog_id, bool fr
|
||||
if (queries.size() == 1) {
|
||||
G()->td_db()->get_message_db_async()->get_scheduled_messages(
|
||||
dialog_id, 1000,
|
||||
PromiseCreator::lambda([dialog_id, actor_id = actor_id(this)](vector<MessageDbDialogMessage> messages) {
|
||||
PromiseCreator::lambda([actor_id = actor_id(this), dialog_id](vector<MessageDbDialogMessage> messages) {
|
||||
send_closure(actor_id, &MessagesManager::on_get_scheduled_messages_from_database, dialog_id,
|
||||
std::move(messages));
|
||||
}));
|
||||
@ -29736,8 +29737,8 @@ void MessagesManager::remove_message_notification(DialogId dialog_id, Notificati
|
||||
if (G()->use_message_database()) {
|
||||
G()->td_db()->get_message_db_async()->get_messages_from_notification_id(
|
||||
dialog_id, NotificationId(notification_id.get() + 1), 1,
|
||||
PromiseCreator::lambda([dialog_id, from_mentions, notification_id,
|
||||
actor_id = actor_id(this)](vector<MessageDbDialogMessage> result) {
|
||||
PromiseCreator::lambda([actor_id = actor_id(this), dialog_id, from_mentions,
|
||||
notification_id](vector<MessageDbDialogMessage> result) {
|
||||
send_closure(actor_id, &MessagesManager::do_remove_message_notification, dialog_id, from_mentions,
|
||||
notification_id, std::move(result));
|
||||
}));
|
||||
|
@ -244,8 +244,8 @@ void PasswordManager::do_get_secure_secret(bool allow_recursive, string password
|
||||
return promise.set_error(Status::Error(400, "PASSWORD_HASH_INVALID"));
|
||||
}
|
||||
get_full_state(
|
||||
password, PromiseCreator::lambda([password, allow_recursive, promise = std::move(promise),
|
||||
actor_id = actor_id(this)](Result<PasswordFullState> r_state) mutable {
|
||||
password, PromiseCreator::lambda([actor_id = actor_id(this), password, allow_recursive,
|
||||
promise = std::move(promise)](Result<PasswordFullState> r_state) mutable {
|
||||
if (r_state.is_error()) {
|
||||
return promise.set_error(r_state.move_as_error());
|
||||
}
|
||||
@ -262,7 +262,7 @@ void PasswordManager::do_get_secure_secret(bool allow_recursive, string password
|
||||
}
|
||||
|
||||
auto new_promise =
|
||||
PromiseCreator::lambda([password, promise = std::move(promise), actor_id](Result<bool> r_ok) mutable {
|
||||
PromiseCreator::lambda([actor_id, password, promise = std::move(promise)](Result<bool> r_ok) mutable {
|
||||
if (r_ok.is_error()) {
|
||||
return promise.set_error(r_ok.move_as_error());
|
||||
}
|
||||
@ -302,8 +302,8 @@ void PasswordManager::create_temp_password(string password, int32 timeout, Promi
|
||||
send_closure(actor_id, &PasswordManager::on_finish_create_temp_password, std::move(result), false);
|
||||
});
|
||||
|
||||
do_get_state(PromiseCreator::lambda([password = std::move(password), timeout, promise = std::move(new_promise),
|
||||
actor_id = actor_id(this)](Result<PasswordState> r_state) mutable {
|
||||
do_get_state(PromiseCreator::lambda([actor_id = actor_id(this), password = std::move(password), timeout,
|
||||
promise = std::move(new_promise)](Result<PasswordState> r_state) mutable {
|
||||
if (r_state.is_error()) {
|
||||
return promise.set_error(r_state.move_as_error());
|
||||
}
|
||||
@ -350,8 +350,8 @@ void PasswordManager::get_full_state(string password, Promise<PasswordFullState>
|
||||
send_closure(G()->config_manager(), &ConfigManager::hide_suggested_action,
|
||||
SuggestedAction{SuggestedAction::Type::CheckPassword});
|
||||
|
||||
do_get_state(PromiseCreator::lambda([password = std::move(password), promise = std::move(promise),
|
||||
actor_id = actor_id(this)](Result<PasswordState> r_state) mutable {
|
||||
do_get_state(PromiseCreator::lambda([actor_id = actor_id(this), password = std::move(password),
|
||||
promise = std::move(promise)](Result<PasswordState> r_state) mutable {
|
||||
if (r_state.is_error()) {
|
||||
return promise.set_error(r_state.move_as_error());
|
||||
}
|
||||
|
@ -919,7 +919,7 @@ void PollManager::do_set_poll_answer(PollId poll_id, FullMessageId full_message_
|
||||
notify_on_poll_update(poll_id);
|
||||
|
||||
auto query_promise = PromiseCreator::lambda(
|
||||
[poll_id, generation, actor_id = actor_id(this)](Result<tl_object_ptr<telegram_api::Updates>> &&result) {
|
||||
[actor_id = actor_id(this), poll_id, generation](Result<tl_object_ptr<telegram_api::Updates>> &&result) {
|
||||
send_closure(actor_id, &PollManager::on_set_poll_answer, poll_id, generation, std::move(result));
|
||||
});
|
||||
td_->create_handler<SendVoteQuery>(std::move(query_promise))
|
||||
@ -1327,7 +1327,7 @@ void PollManager::on_update_poll_timeout(PollId poll_id) {
|
||||
|
||||
auto full_message_id = server_poll_messages_[poll_id].get_random();
|
||||
LOG(INFO) << "Fetching results of " << poll_id << " from " << full_message_id;
|
||||
auto query_promise = PromiseCreator::lambda([poll_id, generation = current_generation_, actor_id = actor_id(this)](
|
||||
auto query_promise = PromiseCreator::lambda([actor_id = actor_id(this), poll_id, generation = current_generation_](
|
||||
Result<tl_object_ptr<telegram_api::Updates>> &&result) {
|
||||
send_closure(actor_id, &PollManager::on_get_poll_results, poll_id, generation, std::move(result));
|
||||
});
|
||||
|
@ -4080,7 +4080,7 @@ void Td::answer_ok_query(uint64 id, Status status) {
|
||||
}
|
||||
|
||||
Promise<Unit> Td::create_ok_request_promise(uint64 id) {
|
||||
return PromiseCreator::lambda([id = id, actor_id = actor_id(this)](Result<Unit> result) {
|
||||
return PromiseCreator::lambda([actor_id = actor_id(this), id](Result<Unit> result) {
|
||||
if (result.is_error()) {
|
||||
send_closure(actor_id, &Td::send_error, id, result.move_as_error());
|
||||
} else {
|
||||
@ -8611,7 +8611,7 @@ void Td::on_request(uint64 id, td_api::assignGooglePlayTransaction &request) {
|
||||
void Td::on_request(uint64 id, td_api::acceptTermsOfService &request) {
|
||||
CHECK_IS_USER();
|
||||
CLEAN_INPUT_STRING(request.terms_of_service_id_);
|
||||
auto promise = PromiseCreator::lambda([id = id, actor_id = actor_id(this)](Result<> result) {
|
||||
auto promise = PromiseCreator::lambda([actor_id = actor_id(this), id](Result<> result) {
|
||||
if (result.is_error()) {
|
||||
send_closure(actor_id, &Td::send_error, id, result.move_as_error());
|
||||
} else {
|
||||
|
@ -394,7 +394,7 @@ class Td final : public Actor {
|
||||
|
||||
template <class T>
|
||||
Promise<T> create_request_promise(uint64 id) {
|
||||
return PromiseCreator::lambda([id = id, actor_id = actor_id(this)](Result<T> r_state) {
|
||||
return PromiseCreator::lambda([actor_id = actor_id(this), id](Result<T> r_state) {
|
||||
if (r_state.is_error()) {
|
||||
send_closure(actor_id, &Td::send_error, id, r_state.move_as_error());
|
||||
} else {
|
||||
|
@ -2481,7 +2481,7 @@ void FileManager::run_download(FileNodePtr node, bool force_update_priority) {
|
||||
QueryId query_id = queries_container_.create(Query{file_id, Query::Type::DownloadReloadDialog});
|
||||
node->download_id_ = query_id;
|
||||
context_->reload_photo(file_view.remote_location().get_source(),
|
||||
PromiseCreator::lambda([query_id, actor_id = actor_id(this), file_id](Result<Unit> res) {
|
||||
PromiseCreator::lambda([actor_id = actor_id(this), query_id, file_id](Result<Unit> res) {
|
||||
Status error;
|
||||
if (res.is_ok()) {
|
||||
error = Status::Error("FILE_DOWNLOAD_ID_INVALID");
|
||||
@ -2507,7 +2507,7 @@ void FileManager::run_download(FileNodePtr node, bool force_update_priority) {
|
||||
node->download_was_update_file_reference_ = true;
|
||||
|
||||
context_->repair_file_reference(
|
||||
file_id, PromiseCreator::lambda([query_id, actor_id = actor_id(this), file_id](Result<Unit> res) {
|
||||
file_id, PromiseCreator::lambda([actor_id = actor_id(this), query_id, file_id](Result<Unit> res) {
|
||||
Status error;
|
||||
if (res.is_ok()) {
|
||||
error = Status::Error("FILE_DOWNLOAD_RESTART_WITH_FILE_REFERENCE");
|
||||
@ -3011,7 +3011,7 @@ void FileManager::run_upload(FileNodePtr node, vector<int> bad_parts) {
|
||||
node->upload_was_update_file_reference_ = true;
|
||||
|
||||
context_->repair_file_reference(node->main_file_id_,
|
||||
PromiseCreator::lambda([query_id, actor_id = actor_id(this)](Result<Unit> res) {
|
||||
PromiseCreator::lambda([actor_id = actor_id(this), query_id](Result<Unit> res) {
|
||||
send_closure(actor_id, &FileManager::on_error, query_id,
|
||||
Status::Error("FILE_UPLOAD_RESTART_WITH_FILE_REFERENCE"));
|
||||
}));
|
||||
|
@ -343,7 +343,7 @@ void ConnectionCreator::ping_proxy_resolved(int32 proxy_id, IPAddress ip_address
|
||||
auto socket_fd = r_socket_fd.move_as_ok();
|
||||
|
||||
auto connection_promise = PromiseCreator::lambda(
|
||||
[ip_address, promise = std::move(promise), actor_id = actor_id(this), transport_type = extra.transport_type,
|
||||
[actor_id = actor_id(this), ip_address, promise = std::move(promise), transport_type = extra.transport_type,
|
||||
debug_str = extra.debug_str](Result<ConnectionData> r_connection_data) mutable {
|
||||
if (r_connection_data.is_error()) {
|
||||
return promise.set_error(Status::Error(400, r_connection_data.error().public_message()));
|
||||
@ -619,7 +619,7 @@ void ConnectionCreator::request_raw_connection_by_ip(IPAddress ip_address, mtpro
|
||||
}
|
||||
auto socket_fd = r_socket_fd.move_as_ok();
|
||||
|
||||
auto connection_promise = PromiseCreator::lambda([promise = std::move(promise), actor_id = actor_id(this),
|
||||
auto connection_promise = PromiseCreator::lambda([actor_id = actor_id(this), promise = std::move(promise),
|
||||
transport_type, network_generation = network_generation_,
|
||||
ip_address](Result<ConnectionData> r_connection_data) mutable {
|
||||
if (r_connection_data.is_error()) {
|
||||
|
Loading…
Reference in New Issue
Block a user