异步 I/O 执行上下文,负责管理 IO 事件循环和协程任务的调度
更多...
#include <rmvl/io/async.hpp>
|
| | IOContext () |
| | 创建异步 I/O 执行上下文,初始化以异步 I/O 为核心的调度器
|
| | ~IOContext () |
template<typename Callable, typename... Args>
requires InvokableTask<Callable, Args...> |
| void | spawn (Callable &&fn, Args &&...args) |
| | 生成 Task<> 协程任务,并添加到调度器
|
| FileDescriptor | handle () const noexcept |
| | 获取异步 I/O 句柄
|
| void | run () |
| | 启用事件循环
|
| void | stop () noexcept |
| | 停止事件循环
|
| bool | running () const noexcept |
| | 获取运行状态
|
异步 I/O 执行上下文,负责管理 IO 事件循环和协程任务的调度
◆ IOContext()
| rm::async::IOContext::IOContext |
( |
| ) |
|
创建异步 I/O 执行上下文,初始化以异步 I/O 为核心的调度器
◆ ~IOContext()
| rm::async::IOContext::~IOContext |
( |
| ) |
|
◆ handle()
◆ run()
| void rm::async::IOContext::run |
( |
| ) |
|
◆ running()
| bool rm::async::IOContext::running |
( |
| ) |
const |
|
inlinenoexcept |
◆ spawn()
template<typename Callable, typename... Args>
requires InvokableTask<Callable, Args...>
| void rm::async::IOContext::spawn |
( |
Callable && | fn, |
|
|
Args &&... | args ) |
|
inline |
生成 Task<> 协程任务,并添加到调度器
- 参数
-
| [in] | fn | 协程函数 |
| [in] | args | 协程函数参数 |
- 注解
- fn 必须是一个返回 Task<Tp> 的协程函数
- 带捕获列表的 lambda 也可以作为 fn,但极易引起悬垂引用的未定义行为
◆ stop()
| void rm::async::IOContext::stop |
( |
| ) |
|
|
noexcept |
◆ AsyncIOAwaiter
| friend class AsyncIOAwaiter |
|
friend |
该类的文档由以下文件生成: