lichao
2021-05-28 9243710ca372de26823c2225c7b46b072458c671
utest/tcp_test.cpp
@@ -19,6 +19,7 @@
#include "defs.h"
#include "node_center.h"
#include "tcp_connection.h"
#include "tcp_proxy.h"
#include "tcp_server.h"
#include "util.h"
#include <sys/ioctl.h>
@@ -33,14 +34,14 @@
BOOST_AUTO_TEST_CASE(TcpTest)
{
   SharedMemory &shm = TestShm();
   const std::string connect_addr = "127.0.0.1";
   const uint16_t port = kBHCenterPort;
   boost::asio::io_context io;
   IoService io;
   tcp::endpoint dest(ip::address::from_string(connect_addr), port);
   auto NewRequest = [&]() {
   MsgRequestTopic req;
   req.set_topic("#center_query_procs");
   req.set_data("");
@@ -54,13 +55,33 @@
   head.mutable_dest()->set_mq_id(1000011);
   head.mutable_dest()->set_abs_addr(10296);
   auto request(MsgI::Serialize(head, req));
   for (int i = 0; i < 1; ++i) {
      LOG_DEBUG() << "request size: " << request.size();
      TcpRequest1::Create(io, dest, request, DefaultSender(BHomeShm()));
      return (MsgI::Serialize(head, req));
   };
   auto onReply = [](BHMsgHead &head, std::string body_content) {
      static int n = 0;
      printf("reply %d: ", ++n);
      MsgRequestTopicReply reply;
      if (reply.ParseFromString(body_content)) {
         if (IsSuccess(reply.errmsg().errcode())) {
            printf("\ncontent: %s\n", reply.data().c_str());
         } else {
            printf("error: %s\n", reply.errmsg().errstring().c_str());
   }
   io.run();
      } else {
         printf("parse error\n");
      }
   };
   for (int i = 0; i < 100; ++i) {
      auto request = NewRequest();
      TcpRequest1::Create(io.io(), dest, request, onReply);
   }
   Sleep(2s);
   printf("-------------------------------------------------------\n");
   for (int i = 0; i < 3; ++i) {
      auto request = NewRequest();
      TcpRequest1::Create(io.io(), dest, request, onReply);
   }
   Sleep(2s);
   printf("TcpTest\n");
}