Real Time Bidding (RTB) - Demand Side Platform framework
Utilizing modern C++11/14 features and latest BOOST libraries some critical path functionality written in C and older, easy on the eye, C++ .
Structure ( work in progress ) :
- / -- the root directory
- boost-process/ -- C++11 not in official boost stack
- boost-dll/ -- C++11 not in official boost stack
- CRUD/ -- Restful web-service written in C++11 based on boost.ASIO and CRUD handlers
- rtb/ -- C++11 framework and sandbox for testing platform solution
- core/ -- generic structures shared in the project ( RTB specific )
- common/ -- generic RTB agnostic structures
- datacache/ -- IPC data store for fast lookups and matching
- exchange/ -- exchange handlers implementations ( under review for more generic solution)
- DSL/ -- DSL formats for jsonv ( under review )
- examples/ -- root to our sandbox with examples
- [CMakeLists.txt] - cmake file
The stack of vanilla-rtb depends on other C++11 projects and is referencing them via gh-subree. To update to the latest version of boost-process , boost-dll , json-voorhees or CRUD use the following commands :
- git subtree pull --prefix jsonv git@github.com:tgockel/json-voorhees.git master --squash
- git subtree pull --prefix boost-process git@github.com:BorisSchaeling/boost-process.git master --squash
- git subtree pull --prefix boost-dll git@github.com:apolukhin/Boost.DLL.git master --squash
- git subtree pull --prefix CRUD git@github.com:venediktov/CRUD.git master --squash
###(📗) To build vanilla-rtb use following commands in the root of vanilla-rtb
###Linux :
- mkdir Release
- cd Release
- cmake -DCMAKE_BUILD_TYPE=Release .. -G "Unix Makefiles"
- gmake VERBOSE=1
- cd ..
- mkdir Debug
- cd Debug
- cmake -DCMAKE_BUILD_TYPE=Debug .. -G "Unix Makefiles"
- gmake VERBOSE=1
###Windows : same steps as above for linux , only difference is depending on your environment either Visual Studio or NMake project can be used
- cmake -DCMAKE_BUILD_TYPE=Release .. -G "NMake Makefiles"
- cmake -DCMAKE_BUILD_TYPE=Debug .. -G "NMake Makefiles"
- cmake -DCMAKE_BUILD_TYPE=Release .. -G "Visual Studio 14 2015"
- cmake -DCMAKE_BUILD_TYPE=Debug .. -G "Visual Studio 14 2015"
###For faster builds invoking multiple make processes , find number of cores on your system Linux command :
- nproc
4
pass it to your make script like this gmake -j4