From a53ae6b6ff2faa7fa1d54b3eb662dcfb3591d8ef Mon Sep 17 00:00:00 2001 From: Determinant Date: Sun, 30 Jun 2019 13:49:59 -0400 Subject: try to fix get_peer_addr bug --- test/test_p2p_stress.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/test_p2p_stress.cpp b/test/test_p2p_stress.cpp index b8ef017..cb6595c 100644 --- a/test/test_p2p_stress.cpp +++ b/test/test_p2p_stress.cpp @@ -118,6 +118,9 @@ void install_proto(AppContext &app, const size_t &seg_buff_size) { tc.hash = msg.hash; net.send_msg(std::move(msg), conn); }; + net.reg_conn_handler([](const ConnPool::conn_t &conn, bool connected) { + return true; + }); net.reg_peer_handler([&, send_rand](const MyNet::conn_t &conn, bool connected) { if (connected) { @@ -143,7 +146,12 @@ void install_proto(AppContext &app, const size_t &seg_buff_size) { }); net.reg_handler([&, send_rand](MsgAck &&msg, const MyNet::conn_t &conn) { auto addr = conn->get_peer_addr(); - assert(!addr.is_null()); + if (addr.is_null()) return; + if (app.tc.find(addr) == app.tc.end()) + { + SALTICIDAE_LOG_WARN("%s\n", std::string(addr).c_str()); + throw std::runtime_error("violation"); + } auto &tc = app.tc[addr]; if (msg.view != tc.view) { -- cgit v1.2.3