test_parkspace_sample.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * @Description: 测试车位分配模块通信情况
  3. * @Author: yct
  4. * @Date: 2020-07-08 15:51:46
  5. * @LastEditTime: 2020-07-09 17:24:24
  6. * @LastEditors: yct
  7. */
  8. #include "../parkspace_allocation/parkspace_allocation_communicator.h"
  9. int main()
  10. {
  11. google::InitGoogleLogging("parkspace_allocator");
  12. google::SetStderrLogging(google::INFO);
  13. google::InstallFailureSignalHandler();
  14. FLAGS_colorlogtostderr = true;
  15. Parkspace_allocation_communicator *p_parkspace_allocator = Parkspace_allocation_communicator::get_instance_pointer();
  16. p_parkspace_allocator->communication_bind("tcp://127.0.0.1:7001");
  17. // p_parkspace_allocator->communication_connect("tcp://127.0.0.1:7000");
  18. p_parkspace_allocator->communication_run();
  19. // 初始化车位,创建三个车位
  20. message::Parkspace_allocation_status_msg parkspace_status;
  21. for (size_t i = 1; i < 4; i++)
  22. {
  23. message::Parkspace_info* space = parkspace_status.add_parkspace_info();
  24. space->set_parkspace_id(i);
  25. space->set_index(i);
  26. space->set_direction(message::Direction::eForward);
  27. space->set_floor(2+i);
  28. space->set_length(5500);
  29. space->set_width(2200);
  30. space->set_height(1750);
  31. space->set_parkspace_status(message::Parkspace_status::eParkspace_empty);
  32. }
  33. message::Base_info base_msg;
  34. message::Error_manager error;
  35. base_msg.set_msg_type(message::Message_type::eParkspace_allocation_response_msg);
  36. base_msg.set_timeout_ms(1000);
  37. base_msg.set_sender(message::Communicator::eParkspace_allocator);
  38. base_msg.set_receiver(message::Communicator::eMain);
  39. error.set_error_code(0);
  40. parkspace_status.mutable_base_info()->CopyFrom(base_msg);
  41. parkspace_status.mutable_error_manager()->CopyFrom(error);
  42. p_parkspace_allocator->update_parkspace_status(parkspace_status);
  43. int k=1;
  44. while(1) {
  45. message::Parkspace_info space;
  46. space.set_parkspace_id(3);
  47. space.set_index(k);
  48. space.set_direction(message::Direction::eForward);
  49. space.set_floor(k*3);
  50. space.set_length(5500);
  51. space.set_width(2200);
  52. space.set_height(k*400);
  53. space.set_parkspace_status(message::Parkspace_status::eParkspace_occupied);
  54. p_parkspace_allocator->update_parkspace_status(3, space);
  55. usleep(1000*1000);
  56. k++;
  57. }
  58. return 0;
  59. }