Locate_communicator.h 912 B

123456789101112131415161718192021222324252627282930313233343536
  1. //
  2. // Created by zx on 2020/6/18.
  3. //
  4. #ifndef NNXX_TESTS_LOCATE_COMMUNICATOR_H
  5. #define NNXX_TESTS_LOCATE_COMMUNICATOR_H
  6. #include <mutex>
  7. #include "communication_socket_base.h"
  8. #include "singleton.h"
  9. #include "measure_message.pb.h"
  10. #include "error_code.h"
  11. #include "thread_safe_map.h"
  12. class Locate_communicator: public Singleton<Locate_communicator>, public Communication_socket_base
  13. {
  14. friend Singleton<Locate_communicator>;
  15. public:
  16. virtual ~Locate_communicator();
  17. Error_manager locate_request(message::Measure_request_msg& request,message::Measure_response_msg& result);
  18. protected:
  19. Locate_communicator();
  20. virtual Error_manager encapsulate_msg(Communication_message* message);
  21. virtual Error_manager execute_msg(Communication_message* p_msg);
  22. protected:
  23. thread_safe_map<int,message::Measure_response_msg> m_response_table;
  24. };
  25. #endif //NNXX_TESTS_LOCATE_COMMUNICATOR_H