Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 3.33 KB

File metadata and controls

45 lines (32 loc) · 3.33 KB
Branch Docs GitHub Actions Drone Coverage (Linux) Coverage (macOS) Coverage (Windows)
master Documentation CI Build Status Lines Lines Lines
develop Documentation CI Build Status Lines Lines Lines

Boost.Corosio

Boost.Corosio is a coroutine-only I/O library for C++20 that provides asynchronous networking primitives with automatic executor affinity propagation. Every operation returns an awaitable that integrates with the IoAwaitable protocol, ensuring your coroutines resume on the correct executor without manual dispatch.

Quick Start

Consume via CMake

Corosio depends on Capy. Both must be made available before linking. Use FetchContent, add_subdirectory, or find_package — declaration order does not matter:

include(FetchContent)

FetchContent_Declare(capy
    GIT_REPOSITORY https://github.com/cppalliance/capy.git
    GIT_TAG develop
    GIT_SHALLOW TRUE)
FetchContent_Declare(corosio
    GIT_REPOSITORY https://github.com/cppalliance/corosio.git
    GIT_TAG develop
    GIT_SHALLOW TRUE)

FetchContent_MakeAvailable(capy corosio)

target_link_libraries(my_app Boost::corosio)

Requirements

  • CMake 3.14 or later
  • C++20 compiler (GCC 12+, Clang 17+, MSVC 14.34+)
  • Ninja (recommended) or other CMake generator

License

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)