concurrencpp 换成asio协程

This commit is contained in:
2026-06-29 08:50:10 +08:00
parent c683038d3a
commit cd446b7ca8
11 changed files with 335 additions and 315 deletions
@@ -60,7 +60,7 @@ void run_external_database_async(Work &&work, Callback &&callback) {
}
template <typename T, typename Starter>
concurrencpp::result<T> await_external_database_callback(Starter starter) {
asio::awaitable<T> await_external_database_callback(Starter starter) {
auto result = co_await Psc::coro::callback_result<T>(
[starter = std::move(starter)](auto done) mutable {
starter([done = std::move(done)](std::exception_ptr exception,
@@ -417,7 +417,7 @@ void External_Resources_Manager::async_external_database_status(
[this]() { return external_database_status(); }, std::move(callback));
}
concurrencpp::result<std::vector<External_Resource_Status>>
asio::awaitable<std::vector<External_Resource_Status>>
External_Resources_Manager::refresh_external_databases_coro(
const bool force_download) {
co_return co_await await_external_database_callback<
@@ -427,7 +427,7 @@ External_Resources_Manager::refresh_external_databases_coro(
});
}
concurrencpp::result<External_Resource_Status>
asio::awaitable<External_Resource_Status>
External_Resources_Manager::refresh_external_database_coro(
std::string resource_name, const bool force_download) {
co_return co_await await_external_database_callback<External_Resource_Status>(
@@ -438,7 +438,7 @@ External_Resources_Manager::refresh_external_database_coro(
});
}
concurrencpp::result<External_Resource_Status>
asio::awaitable<External_Resource_Status>
External_Resources_Manager::import_external_database_coro(
std::string resource_name, std::filesystem::path source_file) {
co_return co_await await_external_database_callback<External_Resource_Status>(
@@ -450,7 +450,7 @@ External_Resources_Manager::import_external_database_coro(
});
}
concurrencpp::result<External_Resource_Status>
asio::awaitable<External_Resource_Status>
External_Resources_Manager::clear_external_database_table_coro(
std::string resource_name) {
co_return co_await await_external_database_callback<External_Resource_Status>(
@@ -461,7 +461,7 @@ External_Resources_Manager::clear_external_database_table_coro(
});
}
concurrencpp::result<std::optional<External_Database_Row>>
asio::awaitable<std::optional<External_Database_Row>>
External_Resources_Manager::query_external_database_coro(
std::string resource_name,
std::vector<std::string> primary_key_values) const {
@@ -476,7 +476,7 @@ External_Resources_Manager::query_external_database_coro(
});
}
concurrencpp::result<std::shared_ptr<External_Database_Row_Map>>
asio::awaitable<std::shared_ptr<External_Database_Row_Map>>
External_Resources_Manager::query_aircraft_external_databases_coro(
std::string icao24) const {
auto result = co_await Psc::coro::callback_result<
@@ -497,7 +497,7 @@ External_Resources_Manager::query_aircraft_external_databases_coro(
co_return result;
}
concurrencpp::result<std::shared_ptr<External_Database_Row_Map>>
asio::awaitable<std::shared_ptr<External_Database_Row_Map>>
External_Resources_Manager::query_callsign_external_databases_coro(
std::optional<std::string> callsign) const {
auto result = co_await Psc::coro::callback_result<
@@ -518,7 +518,7 @@ External_Resources_Manager::query_callsign_external_databases_coro(
co_return result;
}
concurrencpp::result<std::vector<External_Resource_Status>>
asio::awaitable<std::vector<External_Resource_Status>>
External_Resources_Manager::external_database_status_coro() const {
co_return co_await await_external_database_callback<
std::vector<External_Resource_Status>>(