Fix #203 - market history plugin config supports multiple buckets

This commit is contained in:
Daniel Larimer 2015-07-27 08:19:27 -04:00
parent 662dd04e45
commit f371f98cd4

View file

@ -206,8 +206,8 @@ void market_history_plugin::plugin_set_program_options(
) )
{ {
cli.add_options() cli.add_options()
("bucket-size", boost::program_options::value<std::vector<uint32_t>>()->composing()->multitoken(), ("bucket-size", boost::program_options::value<string>()->default_value("[15,60,300,3600,86400]"),
"Track market history by grouping orders into buckets of equal size measured in seconds, may specify more than one bucket size") "Track market history by grouping orders into buckets of equal size measured in seconds specified as a JSON array of numbers")
("history-per-size", boost::program_options::value<uint32_t>()->default_value(1000), ("history-per-size", boost::program_options::value<uint32_t>()->default_value(1000),
"How far back in time to track history for each bucket size, measured in the number of buckets (default: 1000)") "How far back in time to track history for each bucket size, measured in the number of buckets (default: 1000)")
; ;
@ -221,8 +221,8 @@ void market_history_plugin::plugin_initialize(const boost::program_options::vari
if( options.count( "bucket-size" ) ) if( options.count( "bucket-size" ) )
{ {
const std::vector<uint32_t>& buckets = options["bucket-size"].as<std::vector<uint32_t>>(); const std::string& buckets = options["bucket-size"].as<string>();
for( auto o : buckets ) my->_tracked_buckets.insert(o); my->_tracked_buckets = fc::json::from_string(buckets).as<flat_set<uint32_t>>();
} }
if( options.count( "history-per-size" ) ) if( options.count( "history-per-size" ) )
my->_maximum_history_per_bucket_size = options["history-per-size"].as<uint32_t>(); my->_maximum_history_per_bucket_size = options["history-per-size"].as<uint32_t>();