RTBKit
0.9
Open-source framework to create real-time ad bidding systems.
|
00001 00008 #pragma once 00009 00010 00011 #include <boost/program_options/options_description.hpp> 00012 #include "rtbkit/core/router/router.h" 00013 #include "rtbkit/core/banker/slave_banker.h" 00014 #include "soa/service/service_utils.h" 00015 00016 namespace RTBKIT { 00017 00018 00019 /*****************************************************************************/ 00020 /* ROUTER RUNNER */ 00021 /*****************************************************************************/ 00022 00023 struct RouterRunner { 00024 00025 RouterRunner(); 00026 00027 ServiceProxyArguments serviceArgs; 00028 std::vector<std::string> logUris; 00029 00030 //std::string routerConfigurationFile; 00031 std::string exchangeConfigurationFile; 00032 float lossSeconds; 00033 00034 void doOptions(int argc, char ** argv, 00035 const boost::program_options::options_description & opts 00036 = boost::program_options::options_description()); 00037 00038 std::shared_ptr<ServiceProxies> proxies; 00039 std::shared_ptr<SlaveBanker> banker; 00040 std::shared_ptr<Router> router; 00041 Json::Value exchangeConfig; 00042 00043 void init(); 00044 00045 void start(); 00046 00047 void shutdown(); 00048 00049 }; 00050 00051 } // namespace RTBKIT 00052