IO 读写抽象
本模块定义了通用的 ReadPort
与 WritePort
接口类,用于跨平台封装异步、阻塞、轮询等多种 I/O 行为,并通过 Operation
模型绑定完成反馈机制。适配不同底层驱动时,只需实现对应的读写函数并赋值给端口对象,即可获得完整的异步 I/O 能力。
ReadPort
WritePort
和WritePort::Stream
本身由原子操作与无锁数据结构实现,可以做到整个读写过程不进行任何系统调用,同时保证线程安全。下文的锁都只是逻辑抽象,不涉及到实际的互斥锁操作。
核心类型
ReadPort / WritePort
ReadPort
和 WritePort
封装了读写操作的调用流程、缓存管理与同步机制。每次调用都会携带一个 Operation
实例,明确指定完成后的反馈方式(回调、阻塞、轮询或忽略)。
ReadOperation / WriteOperation
typedef Operation<ErrorCode> ReadOperation;
typedef Operation<ErrorCode> WriteOperation;
用于表示带有完成响应行为的异步 I/O 操作。可通过构造函数传入回调、信号量或轮询状态变量,详见 core-operation
页面。