Peerplays Fast Compile Library
- we were canceling tasks that hadn't been canceled, because the canceled flag was left set to true and the next task assigned to the context then became canceled as soon as it yielded - we were resumeing blocked tasks before they should have resumed, because their blocking_promises list wasn't cleared and they were unblocking because the erroneous promises were fulfilled As a debugging aid, we also record the cancellation reason whenever a task is canceled, and include that in the canceled_exception (this is only enabled in debug builds) |
||
|---|---|---|
| CMakeModules | ||
| GitVersionGen | ||
| include/fc | ||
| src | ||
| tests | ||
| vendor | ||
| .gitignore | ||
| CMakeLists.txt | ||
| fc.natvis | ||
| ntp_test.cpp | ||
| README.md | ||
fc
FC stands for fast-compiling c++ library and provides a set of utility libraries useful for the development of asynchronous libraries. Some of the highlights include:
- Cooperative Multi-Tasking Library with support for Futures, mutexes, signals.
- Wrapper on Boost ASIO for handling async opperations cooperatively with easy to code synchronous style.
- Reflection for C++ allowing automatic serialization in Json & Binary of C++ Structs
- Automatic generation of client / server stubs for reflected interfaces with support for JSON-RPC
- Cryptographic Primitives for a variaty of hashes and encryption algorithms
- Logging Infrastructure
- Wraps many Boost APIs, such as boost::filesystem, boost::thread, and boost::exception to acceleate compiles
- Support for unofficial Boost.Process library.