Skip to content

asyncpp/asyncpp-io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 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-2004_clang-10 windows-2019_msvc16 macos-12_clang-15
ubuntu-2004_clang-11 windows-2022_msvc17 macos-12_gcc-12
ubuntu-2004_clang-12 macos-12_gcc-14
ubuntu-2004_gcc-10 macos-13_clang-15
ubuntu-2204_clang-13 macos-13_gcc-12
ubuntu-2204_clang-14 macos-13_gcc-14
ubuntu-2204_clang-15 macos-14_clang-15
ubuntu-2204_gcc-11 macos-14_gcc-12
ubuntu-2204_gcc-10 macos-14_gcc-14

Releases

No releases published

Packages

No packages published