Skip to content
/ asio3 Public

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

License

Notifications You must be signed in to change notification settings

zhllxt/asio3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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的新特性
  • 提供轻框架支持

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages