Skip to content

asyncpp/asyncpp-io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Async++ Network library

This library provides a c++20 coroutine wrapper for networking and IO related functionality. It is an addition to async++ which provides general coroutine tasks and support classes.

The library supports multiple IO backends for the various operating systems:

  • select (Linux, MacOS)
  • io_uring (Linux 5.1+)
  • IOCP (Windows)

Features include:

  • Asynchronous socket IO
  • Asynchronous file IO (only on uring & IOCP)
  • Convenient handling of ips and endpoints
  • Coroutine ready wrapper for OpenSSL TLS
  • Asynchronous DNS client with support for TSIG
  • Ability to cancel most operations using stop_tokens
  • Support for error handling using std::error_code or exceptions

Tested and supported compilers:

Linux Windows MacOS (best effort)
ubuntu-2404_clang-16 windows-2025_msvc17 macos-15-arm_clang-18
ubuntu-2404_clang-17 windows-2022_msvc17 macos-14-arm_clang-15
ubuntu-2404_clang-18 macos-13_clang-15
ubuntu-2404_gcc-12
ubuntu-2404_gcc-13
ubuntu-2404_gcc-14
ubuntu-2204_clang-13
ubuntu-2204_clang-14
ubuntu-2204_clang-15
ubuntu-2204_gcc-11
ubuntu-2204_gcc-10

About

Async++ IO library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published