Peerplays Fast Compile Library
Find a file
Eric Frias 3222dc7c0b When reusing a context, re-initialize most of its fields. This fixes at least two errors:
- 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)
2014-08-28 15:43:26 -04:00
CMakeModules Make FC's CMakeLists.txt provide a list of required DLLs to projects that use it 2014-03-14 14:11:56 -04:00
GitVersionGen Collect time of git commit for display in Keyhotee, add function for pretty-printing times 2014-03-31 16:10:52 -04:00
include/fc When reusing a context, re-initialize most of its fields. This fixes at least two errors: 2014-08-28 15:43:26 -04:00
src When reusing a context, re-initialize most of its fields. This fixes at least two errors: 2014-08-28 15:43:26 -04:00
tests Allow the user to supply a reason string when canceling a task (useful for debugging) 2014-08-27 14:07:44 -04:00
vendor Fix linux clang compilation (for real) 2014-07-14 21:51:45 -04:00
.gitignore Update .gitignore: ignore .cbp files (cmake artifact) 2014-07-09 11:33:48 -04:00
CMakeLists.txt Import thread/task_specific variables 2014-08-27 12:20:19 -04:00
fc.natvis Visual Studio native visualizers for fc 2014-01-09 10:58:35 -05:00
ntp_test.cpp fix potential errors in NTP caused by running in main thread 2014-06-25 23:32:09 -04:00
README.md Create README.md 2013-07-01 22:45:17 -04:00

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.