RTBKit  0.9
Open-source framework to create real-time ad bidding systems.
core/router/router_runner.h
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 
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator