1 #ifndef RECODEX_BROKER_BROKER_HANDLER_H 2 #define RECODEX_BROKER_BROKER_HANDLER_H 4 #include <spdlog/logger.h> 6 #include "../config/broker_config.h" 7 #include "../notifier/status_notifier.h" 8 #include "../reactor/command_holder.h" 9 #include "../reactor/handler_interface.h" 10 #include "../worker_registry.h" 24 std::shared_ptr<worker_registry> workers,
25 std::shared_ptr<spdlog::logger> logger);
31 std::shared_ptr<const broker_config> config_;
34 std::shared_ptr<worker_registry> workers_;
37 std::shared_ptr<spdlog::logger> logger_;
40 std::map<worker_registry::worker_ptr, std::chrono::milliseconds> worker_timers_;
52 void process_worker_init(
const std::string &identity,
const std::vector<std::string> &message,
response_cb respond);
58 void process_worker_done(
const std::string &identity,
const std::vector<std::string> &message,
response_cb respond);
64 void process_worker_ping(
const std::string &identity,
const std::vector<std::string> &message,
response_cb respond);
70 void process_worker_progress(
71 const std::string &identity,
const std::vector<std::string> &message,
response_cb respond);
78 void process_client_eval(
const std::string &identity,
const std::vector<std::string> &message,
response_cb respond);
112 #endif // RECODEX_BROKER_BROKER_HANDLER_H std::shared_ptr< request > request_ptr
broker_handler(std::shared_ptr< const broker_config > config, std::shared_ptr< worker_registry > workers, std::shared_ptr< spdlog::logger > logger)
std::function< void(const message_container &)> response_cb
std::shared_ptr< worker > worker_ptr
void on_request(const message_container &message, response_cb respond)