gitextract_aarctyfv/ ├── .github/ │ └── workflows/ │ └── cmake.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── Config.cmake.in ├── Doxyfile ├── LICENSE ├── README.md ├── asio/ │ ├── asio_task.h │ ├── asio_task_1.10.0.inl │ ├── asio_task_1.12.0.inl │ └── asio_task_1.12.2.inl ├── benchmark/ │ ├── CMakeLists.txt │ ├── benchmark_asio_echo.cpp │ ├── benchmark_async_mem.cpp │ └── benchmark_channel_passing_next.cpp ├── cmake/ │ ├── SelectDynamicLibrary.cmake │ └── install.cmake ├── config.h.in ├── gcc_bugs.cpp ├── include/ │ └── librf/ │ ├── librf.h │ ├── librf_macro.h │ └── src/ │ ├── _awaker.h │ ├── awaitable.h │ ├── channel.h │ ├── channel_v2.h │ ├── channel_v2.inl │ ├── config.h │ ├── counted_ptr.h │ ├── current_scheduler.h │ ├── def.h │ ├── event.h │ ├── event_v2.h │ ├── event_v2.inl │ ├── exception.inl │ ├── future.h │ ├── generator.h │ ├── intrusive_link_queue.h │ ├── macro_def.inl │ ├── mutex.h │ ├── mutex_v2.h │ ├── mutex_v2.inl │ ├── promise.h │ ├── promise.inl │ ├── rf_task.h │ ├── ring_queue.h │ ├── scheduler.h │ ├── sleep.h │ ├── spinlock.h │ ├── state.h │ ├── state.inl │ ├── stop_token.h │ ├── switch_scheduler.h │ ├── timer.h │ ├── type_concept.inl │ ├── type_traits.inl │ ├── unix/ │ │ ├── clang_builtin.h │ │ ├── coroutine.h │ │ └── gcc_builtin.h │ ├── when.h │ ├── when_v2.h │ ├── without_deadlock_assemble.inl │ └── yield.h ├── source/ │ ├── event_v2.cpp │ ├── mutex_v2.cpp │ ├── rf_task.cpp │ ├── scheduler.cpp │ ├── sleep.cpp │ ├── state.cpp │ ├── timer.cpp │ └── when_v2.cpp ├── test_librf.cpp └── tutorial/ ├── CMakeLists.txt ├── test_async_cb.cpp ├── test_async_channel.cpp ├── test_async_channel_mult_thread.cpp ├── test_async_dynamic_go.cpp ├── test_async_event.cpp ├── test_async_event_timeout.cpp ├── test_async_event_v2.cpp ├── test_async_exception.cpp ├── test_async_memory_layout.cpp ├── test_async_modern_cb.cpp ├── test_async_multi_thread.cpp ├── test_async_mutex.cpp ├── test_async_resumable.cpp ├── test_async_routine.cpp ├── test_async_sleep.cpp ├── test_async_stop_token.cpp ├── test_async_suspend_always.cpp ├── test_async_switch_scheduler.cpp ├── test_async_timer.cpp ├── test_async_when_all.cpp ├── test_async_yield_return.cpp └── test_memory_leak.cpp