From 3d07ddfba52a9d21f2b4e12430695b7dbbae9337 Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Thu, 17 Nov 2016 11:13:40 -0500 Subject: [PATCH] read more than 1 udp packet --- I2PTunnel.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/I2PTunnel.cpp b/I2PTunnel.cpp index 366a510d..22376842 100644 --- a/I2PTunnel.cpp +++ b/I2PTunnel.cpp @@ -697,8 +697,13 @@ namespace client void I2PUDPClientTunnel::HandleRecvFromLocal(const boost::system::error_code & ec, std::size_t transferred) { + if(ec) { + LogPrint(eLogError, "UDP Client: ", ec.message()); + return; + } if(!m_RemoteIdent) { LogPrint(eLogWarning, "UDP Client: remote endpoint not resolved yet"); + RecvFromLocal(); return; // drop, remote not resolved } auto remotePort = m_RecvEndpoint.port(); @@ -712,6 +717,7 @@ namespace client m_LocalDest->GetDatagramDestination()->SendDatagramTo(m_RecvBuff, transferred, *m_RemoteIdent, remotePort, RemotePort); // mark convo as active m_Sessions[remotePort].second = i2p::util::GetMillisecondsSinceEpoch(); + RecvFromLocal(); } std::vector > I2PUDPClientTunnel::GetSessions()