GKD.RoboCtrl
载入中...
搜索中...
未找到
async.hpp 文件参考

异步任务上下文组件。 更多...

详细描述

异步任务上下文组件。

作者
Junity

提供基于Asio的异步任务执行环境,支持协程任务的调度和执行。

版本
0.1
日期
2025-11-09

在文件 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< voidroboctrl::async::yield ()
 协程任务等待。用于让出当前函数的执行权。
 
awaitable< voidroboctrl::async::wait_for (const duration &duration)
 协程任务等待。
 
auto roboctrl::async::executor ()
 获取全局任务上下文的executor。
 
autoroboctrl::async::io_context ()
 获取全局任务上下文的io_context。
 
void roboctrl::async::stop ()