mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-07 06:09:42 +00:00
show correct tunnel status. restore tunnel if delivery status or data for inbound tunnel received
This commit is contained in:
@@ -250,7 +250,7 @@ namespace tunnel
|
||||
|
||||
void InboundTunnel::HandleTunnelDataMsg (std::shared_ptr<I2NPMessage>&& msg)
|
||||
{
|
||||
if (IsFailed ()) SetState (eTunnelStateEstablished); // incoming messages means a tunnel is alive
|
||||
if (GetState () != eTunnelStateExpiring) SetState (eTunnelStateEstablished); // incoming messages means a tunnel is alive
|
||||
EncryptTunnelMsg (msg, msg);
|
||||
msg->from = GetSharedFromThis ();
|
||||
m_Endpoint.HandleDecryptedTunnelDataMsg (msg);
|
||||
|
||||
@@ -461,7 +461,7 @@ namespace tunnel
|
||||
// restore from test failed state if any
|
||||
if (test.first)
|
||||
{
|
||||
if (test.first->GetState () == eTunnelStateTestFailed)
|
||||
if (test.first->GetState () != eTunnelStateExpiring)
|
||||
test.first->SetState (eTunnelStateEstablished);
|
||||
// update latency
|
||||
uint64_t latency = 0;
|
||||
@@ -471,7 +471,7 @@ namespace tunnel
|
||||
}
|
||||
if (test.second)
|
||||
{
|
||||
if (test.second->GetState () == eTunnelStateTestFailed)
|
||||
if (test.second->GetState () != eTunnelStateExpiring)
|
||||
test.second->SetState (eTunnelStateEstablished);
|
||||
// update latency
|
||||
uint64_t latency = 0;
|
||||
|
||||
Reference in New Issue
Block a user