|
|
@ -117,6 +117,19 @@ namespace tunnel |
|
|
|
auto it1 = m_OutboundTunnels.begin (); |
|
|
|
auto it1 = m_OutboundTunnels.begin (); |
|
|
|
auto it2 = m_InboundTunnels.begin (); |
|
|
|
auto it2 = m_InboundTunnels.begin (); |
|
|
|
while (it1 != m_OutboundTunnels.end () && it2 != m_InboundTunnels.end ()) |
|
|
|
while (it1 != m_OutboundTunnels.end () && it2 != m_InboundTunnels.end ()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
bool failed = false; |
|
|
|
|
|
|
|
if ((*it1)->IsFailed ()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
failed = true; |
|
|
|
|
|
|
|
it1++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if ((*it2)->IsFailed ()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
failed = true; |
|
|
|
|
|
|
|
it2++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (!failed) |
|
|
|
{ |
|
|
|
{ |
|
|
|
uint32_t msgID = rnd.GenerateWord32 (); |
|
|
|
uint32_t msgID = rnd.GenerateWord32 (); |
|
|
|
m_Tests[msgID] = std::make_pair (*it1, *it2); |
|
|
|
m_Tests[msgID] = std::make_pair (*it1, *it2); |
|
|
@ -125,6 +138,7 @@ namespace tunnel |
|
|
|
it1++; it2++; |
|
|
|
it1++; it2++; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void TunnelPool::ProcessDeliveryStatus (I2NPMessage * msg) |
|
|
|
void TunnelPool::ProcessDeliveryStatus (I2NPMessage * msg) |
|
|
|
{ |
|
|
|
{ |
|
|
|