拓扑图

This commit is contained in:
2026-08-10 00:08:47 +08:00
parent 14ad97c7c8
commit 39966da920
10 changed files with 387 additions and 436 deletions
@@ -10,6 +10,17 @@ bool Data_Feed::registered() {
}
return false;
}
void Data_feed_Config::set_connections_need_refresh() {
for (const auto& source : Global::instance()->mode_acs.data_source_config.map.list())
source->need_refresh_data_feed_key_list = true;
}
bool Data_feed_Config::source_has_connection(std::string_view source_key) const {
for (const auto& feed : map.list()) {
if (feed->source_key == source_key)
return true;
}
return false;
}
asio::awaitable<void> Data_Feed_UDP_Server::handle_in_loop_coro() {
co_await svr.tick_coro();
co_return;
@@ -29,6 +29,7 @@ struct Type_Descriptor<Output_Format> {
}
class Data_Feed : public With_Loop_Coro {
public:
std::string source_key;
BIN_Msg_Buffer msg_buffer{};
adminive::Managed_Value<Output_Format> output_format;
Frequency_Limit_Multi sbs_flm{};
@@ -44,11 +45,13 @@ public:
}
virtual Psc::JSON to_json() {
Psc::JSON ret = With_Loop_Coro::to_base_json();
ret.append(Psc::JSON("source_key", source_key));
ret.append(Psc::JSON("output_format", output_format.read([](const auto& value) { return value.to_base_json(); })));
return ret;
}
virtual void from_json(const Psc::JSON* that_json, bool not_exist_use_default_value) {
With_Loop_Coro::from_base_json(that_json, not_exist_use_default_value);
source_key = that_json->get("source_key") == nullptr ? std::string{} : that_json->get_string("source_key");
output_format.write([&](auto& value) {
value.from_base_json(that_json->get("output_format"), not_exist_use_default_value);
});
@@ -392,5 +395,7 @@ public:
ret.append({"list", list()});
return ret;
}
static void set_connections_need_refresh();
[[nodiscard]] bool source_has_connection(std::string_view source_key) const;
void server(Global* g);
};