From 06cd6111eb03c23c053679e659d63dbbae9330eb Mon Sep 17 00:00:00 2001 From: Andrey Tvorozhkov Date: Mon, 22 Jul 2024 22:03:48 +0200 Subject: [PATCH] Fix waitForBlock --- lite-server-daemon/adnl-lite-proxy.cpp | 48 +++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/lite-server-daemon/adnl-lite-proxy.cpp b/lite-server-daemon/adnl-lite-proxy.cpp index ea46cd9a9..e5fe900ea 100644 --- a/lite-server-daemon/adnl-lite-proxy.cpp +++ b/lite-server-daemon/adnl-lite-proxy.cpp @@ -830,32 +830,32 @@ namespace ton::liteserver { auto init_data = data.clone(); auto E1 = fetch_tl_object(init_data, true); if (E1.is_ok()) { - auto F = fetch_tl_object(E1.move_as_ok()->data_, true); + auto tmp_data = E1.move_as_ok()->data_.clone(); + auto F = fetch_tl_object(tmp_data, true); if (F.is_error()) { - promise.set_error(td::Status::Error("function is not valid")); - return; + LOG(INFO) << "Skip function"; + } else { + auto pf = F.move_as_ok(); + + lite_api::downcast_call( + *pf, td::overloaded( + [&](lite_api::liteServer_sendMessage &q) { + LOG(INFO) << "Got external message"; + + nlohmann::json answer; + answer["dst"] = dst.bits256_value().to_hex(); + answer["source"] = "balancer"; + answer["rps_limit"] = std::get<1>(limits[dst]); + answer["message"] = td::base64_encode(q.body_); + + std::string publish_answer = answer.dump(-1); + LOG(WARNING) << "Push message to kafka: " << publish_answer; + producer.produce( + cppkafka::MessageBuilder("lite-messages").partition(1).payload( + publish_answer)); + }, + [&](auto &obj) {})); } - auto pf = F.move_as_ok(); - - lite_api::downcast_call( - *pf, td::overloaded( - [&](lite_api::liteServer_sendMessage &q) { - LOG(INFO) << "Got external message"; - - nlohmann::json answer; - answer["dst"] = dst.bits256_value().to_hex(); - answer["source"] = "balancer"; - answer["rps_limit"] = std::get<1>(limits[dst]); - answer["message"] = td::base64_encode(q.body_); - - std::string publish_answer = answer.dump(-1); - LOG(WARNING) << "Push message to kafka: " << publish_answer; - producer.produce( - cppkafka::MessageBuilder("lite-messages").partition(1).payload( - publish_answer)); - }, - [&](auto &obj) {})); - } if (mode_ == 0) {