From 056f71f24cefaf88f2a93714c6678c03ed5f1e0e Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 02 七月 2021 16:54:33 +0800
Subject: [PATCH] fixed to adapt gcc-5.4 & glibc-2.25
---
utest/tcp_test.cpp | 62 +++++++++++++++++++++----------
1 files changed, 42 insertions(+), 20 deletions(-)
diff --git a/utest/tcp_test.cpp b/utest/tcp_test.cpp
index a838252..0ead665 100644
--- a/utest/tcp_test.cpp
+++ b/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,34 +34,55 @@
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);
- MsgRequestTopic req;
- req.set_topic("#center_query_procs");
- req.set_data("");
- auto head = InitMsgHead(GetType(req), "#test_proc", 1000000);
- auto route = head.add_route();
- route->set_mq_id(12345);
- route->set_abs_addr(67890);
- head.mutable_dest()->set_ip(connect_addr);
- head.mutable_dest()->set_port(port);
- head.mutable_dest()->set_mq_id(1000011);
- head.mutable_dest()->set_abs_addr(10296);
+ auto NewRequest = [&]() {
+ MsgRequestTopic req;
+ req.set_topic("#center_query_procs");
+ req.set_data("");
+ auto head = InitMsgHead(GetType(req), "#test_proc", 1000000);
+ auto route = head.add_route();
+ route->set_mq_id(12345);
+ route->set_abs_addr(67890);
+ head.set_topic(req.topic());
- 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()));
+ head.mutable_dest()->set_ip(connect_addr);
+ // head.mutable_dest()->set_port(port);
+ // head.mutable_dest()->set_mq_id(201);
+ // head.mutable_dest()->set_abs_addr(10072);
+
+ 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());
+ }
+ } else {
+ printf("parse error\n");
+ }
+ };
+ for (int i = 0; i < 100; ++i) {
+ auto request = NewRequest();
+ TcpRequest1::Create(io.io(), dest, request, onReply);
}
-
- io.run();
+ 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");
}
--
Gitblit v1.8.0