|
GKD.RoboCtrl
|
异步任务上下文组件。 更多...
异步任务上下文组件。
提供基于Asio的异步任务执行环境,支持协程任务的调度和执行。
在文件 async.hpp 中定义.
#include <chrono>#include <format>#include <utility>#include <asio.hpp>#include <asio/awaitable.hpp>#include <asio/io_context.hpp>#include <asio/steady_timer.hpp>#include <asio/use_awaitable.hpp>#include "multiton.hpp"#include "core/logger.h"#include "utils/singleton.hpp"类 | |
| class | roboctrl::async::task_context |
| 异步任务上下文类。 更多... | |
| struct | roboctrl::async::task_context::info_type |
命名空间 | |
| namespace | roboctrl::async |
| 异步上下文相关功能 | |
类型定义 | |
| template<typename T = void> | |
| using | roboctrl::async::awaitable = asio::awaitable< T > |
| 协程任务类型。 | |
| using | roboctrl::async::duration = std::chrono::steady_clock::duration |
函数 | |
| auto | roboctrl::async::spawn (task_context::task_type &&task) |
| 添加一个协程任务到全局任务上下文中执行。 | |
| template<typename ... Args> | |
| auto | roboctrl::async::post (Args &&... args) |
| 添加一个任务到全局任务上下文中执行。 | |
| void | roboctrl::async::run () |
| 运行全局任务上下文。 | |
| awaitable< void > | roboctrl::async::yield () |
| 协程任务等待。用于让出当前函数的执行权。 | |
| awaitable< void > | roboctrl::async::wait_for (const duration &duration) |
| 协程任务等待。 | |
| auto | roboctrl::async::executor () |
| 获取全局任务上下文的executor。 | |
| auto & | roboctrl::async::io_context () |
| 获取全局任务上下文的io_context。 | |
| void | roboctrl::async::stop () |