Peerplays Fast Compile Library
Find a file
Eric Frias aa6882b3b7 Allow us to safely cancel tasks that are executing asynchronous network reads
and writes.  This was previously unsafe because we almost always passed read/write
buffers to boost that were on the stack. Canceling the task deleted the stack and
therefore the buffer, but couldn't reliably prevent boost from writing to the buffer
if data came in after the cancel.  This commit adds variants of the read and write
functions that take a shared_ptr<char> instead of a raw char* as the buffer, and
these variants will ensure the shared_ptr will outlive the boost::asio read/write.
2014-09-09 11:10:37 -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 Allow us to safely cancel tasks that are executing asynchronous network reads 2014-09-09 11:10:37 -04:00
src Allow us to safely cancel tasks that are executing asynchronous network reads 2014-09-09 11:10:37 -04:00
tests Add support for boost 1.56. 2014-09-08 10:41:59 -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.