修复推送两遍mode s消息

This commit is contained in:
2026-08-04 15:31:15 +08:00
parent 35b18c3e98
commit fd28aecc66
@@ -122,13 +122,14 @@ size_t Data_Source_Handler::process_mode_acs_data(std::string_view origin_data)
auto msg = create_msg(packet);
if (!msg)
return;
source->push_to_feed(msg);
auto mt = msg->type;
bool mode_s = mt == SSR::Msg::S7 || mt == SSR::Msg::S14;
if (mt == SSR::Msg::HULC_Status) {
source->push_to_feed(msg);
source->handle_HULC(packet);
}
else if (mt == SSR::Msg::Radarcape_status) {
source->push_to_feed(msg);
auto radarcape_msg = SSR::create_Radarcape_STATUS_Message(packet);
std::cout << radarcape_msg.toJson().to_json_string() << std::endl;
SSR::mode_s_logger->debug("Radarcape_status/radarcape", {}, radarcape_msg.toJson().to_json_string());
@@ -137,6 +138,9 @@ size_t Data_Source_Handler::process_mode_acs_data(std::string_view origin_data)
// 拓展点
handle_mode_s(std::dynamic_pointer_cast<SSR::Mode_S_Msg>(msg));
}
else {
source->push_to_feed(msg);
}
};
auto f = [this, source, handle_packet](std::string& packet) {
auto& wait = Global::instance()->mode_acs.wait_process_msg;