From 083edf3d06cdeb0aeb4c0e495e8089b0cffe0d96 Mon Sep 17 00:00:00 2001 From: Andrey Tvorozhkov Date: Mon, 16 Sep 2024 11:51:57 +0300 Subject: [PATCH] Fix publish calls --- lite-server-daemon/adnl-lite-proxy.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lite-server-daemon/adnl-lite-proxy.cpp b/lite-server-daemon/adnl-lite-proxy.cpp index b6b4c3a71..e4363fbd7 100644 --- a/lite-server-daemon/adnl-lite-proxy.cpp +++ b/lite-server-daemon/adnl-lite-proxy.cpp @@ -916,9 +916,10 @@ namespace ton::liteserver { auto res = create_serialize_tl_object(error->code_, error->message_ + " : tried over all nodes"); - process_cache(std::move(data), res.clone(), compiled_query, elapsed); - td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, std::move(data), started_at, + + td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, data.clone(), started_at, elapsed); + process_cache(std::move(data), res.clone(), compiled_query, elapsed); promise.set_value(std::move(res)); return; } else { @@ -940,9 +941,10 @@ namespace ton::liteserver { auto res = create_serialize_tl_object(error->code_, error->message_ + " : tried over all nodes"); - process_cache(std::move(data), res.clone(), compiled_query, elapsed); - td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, std::move(data), started_at, + + td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, data.clone(), started_at, elapsed); + process_cache(std::move(data), res.clone(), compiled_query, elapsed); promise.set_value(std::move(res)); return; } else { @@ -958,9 +960,9 @@ namespace ton::liteserver { } else { LOG(INFO) << "Query to: " << server_adnl << " success, Query: " << compiled_query << " Elapsed: " << elapsed; - process_cache(std::move(data), res.clone(), compiled_query, elapsed); - td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, std::move(data), started_at, + td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, data.clone(), started_at, elapsed); + process_cache(std::move(data), res.clone(), compiled_query, elapsed); promise.set_value(std::move(res)); return; } @@ -974,9 +976,9 @@ namespace ton::liteserver { if (refire + 1 > allowed_refire) { LOG(ERROR) << "Too deep refire"; auto res = create_serialize_tl_object(228, error.message().str()); - process_cache(std::move(data), res.clone(), compiled_query, elapsed); - td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, std::move(data), started_at, + td::actor::send_closure(actor_id(this), &LiteProxy::publish_call, dst, data.clone(), started_at, elapsed); + process_cache(std::move(data), res.clone(), compiled_query, elapsed); promise.set_value(std::move(res)); return; } else {