Skip to content

maksym-lepekh/asyop

Repository files navigation

asy::op

C++17 library for asynchronous operations

Features

  • Provides abstraction for asynchronous operations and continuations
  • Well-defined error handling model (inspired by Promises/A+), no exceptions needed
  • Supports cancellation of continuation chains
  • Can be optimized for single thread usage
  • Non-intrusive: does not require to use specific error types, executors or handlers
  • A lot of headers are optional: replace them with more project-specific variants
  • Extendable:
    • Easy adaptation for any event loop or thread pool
    • Support of any error type
    • It is possible to declare customized handler type or callable signature
  • Modern C++ (requires c++17), modern CMake
  • Available in Conan
  • Code quality is maintained by CI (check here)

Docs

Future

  • Better documentation
  • Exception-awareness, use of noexcept
  • Use of customizable allocator
  • Adapt to C++20: concepts, coroutine support, modules, ...
  • Adapt to Executors proposal

About

C++17 library for asynchronous operations

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages