rabbitmq_message.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #include "rabbitmq_message.h"
  2. Rabbitmq_message::Rabbitmq_message()
  3. {
  4. m_message_type = message::Message_type::eBase_msg;
  5. m_receive_time = std::chrono::system_clock::now();
  6. m_timeout_ms = std::chrono::milliseconds(0); //超时默认0秒
  7. m_sender = message::Communicator::eEmpty;
  8. m_receiver = message::Communicator::eEmpty;
  9. // m_message_buf = "";
  10. }
  11. Rabbitmq_message::Rabbitmq_message(const message::Base_info& base_info, std::string receive_string, int channel, int delivery_tag, std::string exchange_name, std::string routing_key)
  12. {
  13. m_message_type = (message::Message_type)(base_info.msg_type());
  14. m_receive_time = std::chrono::system_clock::now();
  15. m_timeout_ms = std::chrono::milliseconds(base_info.timeout_ms());
  16. m_sender = (message::Communicator)(base_info.sender());
  17. m_receiver = (message::Communicator)(base_info.receiver());
  18. m_message_buf = receive_string;
  19. m_channel = channel;
  20. m_delivery_tag = delivery_tag;
  21. m_exchange_name = exchange_name;
  22. m_routing_key = routing_key;
  23. }
  24. Rabbitmq_message::Rabbitmq_message(std::string receive_string, int channel, std::string exchange_name, std::string routing_key, int timeout_ms=0)
  25. {
  26. m_timeout_ms = std::chrono::milliseconds(timeout_ms);
  27. m_message_buf = receive_string;
  28. m_channel = channel;
  29. m_exchange_name = exchange_name;
  30. m_routing_key = routing_key;
  31. }
  32. Rabbitmq_message::~Rabbitmq_message()
  33. {
  34. }
  35. bool Rabbitmq_message::is_over_time()
  36. {
  37. if ( std::chrono::system_clock::now() - m_receive_time > m_timeout_ms)
  38. {
  39. return true;
  40. }
  41. else
  42. {
  43. return false;
  44. }
  45. }
  46. void Rabbitmq_message::reset(const message::Base_info& base_info, std::string receive_string, int channel, int delivery_tag, std::string exchange_name, std::string routing_key)
  47. {
  48. m_message_type = (message::Message_type)(base_info.msg_type());
  49. m_receive_time = std::chrono::system_clock::now();
  50. m_timeout_ms = std::chrono::milliseconds(base_info.timeout_ms());
  51. m_sender = (message::Communicator)(base_info.sender());
  52. m_receiver = (message::Communicator)(base_info.receiver());
  53. m_message_buf = receive_string;
  54. m_channel = channel;
  55. m_delivery_tag = delivery_tag;
  56. m_exchange_name = exchange_name;
  57. m_routing_key = routing_key;
  58. }
  59. void Rabbitmq_message::reset(std::string receive_string, int channel, std::string exchange_name, std::string routing_key, int timeout_ms = 0)
  60. {
  61. m_timeout_ms = std::chrono::milliseconds(timeout_ms);
  62. m_message_buf = receive_string;
  63. m_channel = channel;
  64. m_exchange_name = exchange_name;
  65. m_routing_key = routing_key;
  66. }
  67. message::Message_type Rabbitmq_message::get_message_type()
  68. {
  69. return m_message_type;
  70. }
  71. message::Communicator Rabbitmq_message::get_sender()
  72. {
  73. return m_sender;
  74. }
  75. message::Communicator Rabbitmq_message::get_receiver()
  76. {
  77. return m_receiver;
  78. }
  79. std::string Rabbitmq_message::get_message_buf()
  80. {
  81. return m_message_buf;
  82. }
  83. std::chrono::system_clock::time_point Rabbitmq_message::get_receive_time()
  84. {
  85. return m_receive_time;
  86. }