8 #ifndef PSYLLID_BATCH_EXECUTOR_HH_ 9 #define PSYLLID_BATCH_EXECUTOR_HH_ 14 #include "cancelable.hh" 15 #include "concurrent_queue.hh" 21 #include <condition_variable> 47 class request_receiver;
62 batch_executor(
const scarab::param_node& a_master_config, std::shared_ptr< request_receiver > a_request_receiver );
65 mv_referrable_const( scarab::param_node, batch_commands );
69 void add_to_queue(
const scarab::param_node& an_action );
70 void add_to_queue(
const scarab::param_array& actions_array );
71 void add_to_queue(
const std::string& a_batch_command_name );
72 void replace_queue(
const scarab::param_node& an_action );
73 void replace_queue(
const scarab::param_array& actions_array );
74 void replace_queue(
const std::string& a_batch_command_name );
76 dripline::reply_ptr_t do_batch_cmd_request(
const std::string& a_command,
const dripline::request_ptr_t a_request );
77 dripline::reply_ptr_t do_replace_actions_request(
const std::string& a_command,
const dripline::request_ptr_t a_request );
79 void execute( std::condition_variable& a_daq_control_ready_cv, std::mutex& a_daq_control_ready_mutex,
bool a_run_forever =
false );
88 static action_info parse_action(
const scarab::param_node& a_action );
unsigned f_sleep_duration_ms
Gives other classes access to daq_control.
A class sequentially execute a list of actions, equivalent to a sequence of dripline requests...
scarab::concurrent_queue< action_info > f_action_queue
scarab::param_node f_condition_actions
dripline::request_ptr_t f_request_ptr
std::shared_ptr< request_receiver > f_request_receiver