concurrencpp 换成asio协程
This commit is contained in:
@@ -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>>(
|
||||
|
||||
Reference in New Issue
Block a user