dispatch_network.cpp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. //
  2. // Created by huli on 2023/1/3.
  3. //
  4. #include "dispatch_network.h"
  5. #include "../dispatch/dispatch_manager.h"
  6. Dispatch_network::Dispatch_network()
  7. {
  8. }
  9. Dispatch_network::~Dispatch_network()
  10. {
  11. }
  12. //初始化 通信 模块。如下三选一
  13. Error_manager Dispatch_network::network_init()
  14. {
  15. return Network_base::network_init();
  16. }
  17. //初始化 通信 模块。如下三选一
  18. Error_manager Dispatch_network::network_init(int dispatch_id)
  19. {
  20. switch ( dispatch_id )
  21. {
  22. case 0:
  23. {
  24. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_B);
  25. break;
  26. }
  27. case 1:
  28. {
  29. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_B);
  30. break;
  31. }
  32. case 2:
  33. {
  34. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_C);
  35. break;
  36. }
  37. case 11:
  38. {
  39. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_A1);
  40. break;
  41. }
  42. case 12:
  43. {
  44. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_A2);
  45. break;
  46. }
  47. case 13:
  48. {
  49. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_A3);
  50. break;
  51. }
  52. case 14:
  53. {
  54. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_A4);
  55. break;
  56. }
  57. case 21:
  58. {
  59. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_B1);
  60. break;
  61. }
  62. case 22:
  63. {
  64. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_B2);
  65. break;
  66. }
  67. case 23:
  68. {
  69. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_B3);
  70. break;
  71. }
  72. case 24:
  73. {
  74. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_B4);
  75. break;
  76. }
  77. case 25:
  78. {
  79. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_B5);
  80. break;
  81. }
  82. case 31:
  83. {
  84. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_C1);
  85. break;
  86. }
  87. case 32:
  88. {
  89. return Network_base::network_init_from_protobuf(SETTING_PATH NETKORK_PARAMETER_PATH_C2);
  90. break;
  91. }
  92. default:
  93. {
  94. return Error_manager(Error_code::COMMUNICATION_READ_PROTOBUF_ERROR, Error_level::MINOR_ERROR,
  95. " Dispatch_network::communication_init dispatch_id error ");
  96. break;
  97. }
  98. }
  99. return Error_code::SUCCESS;
  100. }
  101. //检查消息是否有效, 主要检查消息类型和接受者, 判断这条消息是不是给我的.
  102. Error_manager Dispatch_network::check_msg(Network_message* p_msg)
  103. {
  104. return Error_code::SUCCESS;
  105. }
  106. //检查执行者的状态, 判断能否处理这条消息, 需要子类重载
  107. Error_manager Dispatch_network::check_executer(Network_message* p_msg)
  108. {
  109. return Error_code::SUCCESS;
  110. }
  111. //处理消息, 需要子类重载
  112. Error_manager Dispatch_network::execute_msg(Network_message* p_msg)
  113. {
  114. return Dispatch_manager::get_instance_references().execute_network_message_new(p_msg);
  115. }
  116. //定时封装发送消息, 一般为心跳和状态信息, 需要子类重载
  117. Error_manager Dispatch_network::auto_encapsulate_status()
  118. {
  119. return Error_code::SUCCESS;
  120. }