Skip to content

Latest commit

 

History

History
11 lines (10 loc) · 615 Bytes

README.md

File metadata and controls

11 lines (10 loc) · 615 Bytes

asio3

Header only c++ network library, based on c++ 20 coroutine and asio

设计思路

  • 基于c++20, 单线程协程模式, 以简洁易用为目标
  • 不再定义其它的namespace, 而是直接在namespace asio中添加功能, 这样用户在自己的代码中通过namespace net=asio;重定向一下命名空间, 然后统一使用net::xxx即可, 代码更干净;
  • 避免继承, 尽量使用组合模式, 将各种功能封装成一个个独立的api接口函数, 用户自行选择调用
  • 封装的api函数尽量保证同时支持callback,future,coroutine等各种调用方式
  • 各种属性类不再采用get set这种方式, 而是采用c++20的指定初始化功能, 类似js的语法, 非常清爽
  • 使用concept代替sfinae, 尽量使用c++20的新特性
  • 提供轻框架支持