From ef1a5652ef5aa9adf1ac10f9295a018ab44dc19a Mon Sep 17 00:00:00 2001 From: Thomas Winget Date: Thu, 7 Nov 2019 13:23:06 -0500 Subject: [PATCH] remove our paths from outbound queues --- llarp/path/pathbuilder.cpp | 2 +- llarp/path/pathset.cpp | 3 ++- llarp/path/pathset.hpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/llarp/path/pathbuilder.cpp b/llarp/path/pathbuilder.cpp index c4f67c565..b30dbbc96 100644 --- a/llarp/path/pathbuilder.cpp +++ b/llarp/path/pathbuilder.cpp @@ -165,7 +165,7 @@ namespace llarp void Builder::Tick(llarp_time_t) { const auto now = llarp::time_now_ms(); - ExpirePaths(now); + ExpirePaths(now, m_router); if(ShouldBuildMore(now)) BuildOne(); TickPaths(m_router); diff --git a/llarp/path/pathset.cpp b/llarp/path/pathset.cpp index d8929866f..8aeec63a6 100644 --- a/llarp/path/pathset.cpp +++ b/llarp/path/pathset.cpp @@ -73,7 +73,7 @@ namespace llarp } void - PathSet::ExpirePaths(llarp_time_t now) + PathSet::ExpirePaths(llarp_time_t now, AbstractRouter* router) { Lock_t l(&m_PathsMutex); if(m_Paths.size() == 0) @@ -83,6 +83,7 @@ namespace llarp { if(itr->second->Expired(now)) { + router->outboundMessageHandler().QueueRemoveEmptyPath(itr->second->TXID()); itr = m_Paths.erase(itr); } else diff --git a/llarp/path/pathset.hpp b/llarp/path/pathset.hpp index 1da9a30ce..764796426 100644 --- a/llarp/path/pathset.hpp +++ b/llarp/path/pathset.hpp @@ -148,7 +148,7 @@ namespace llarp GetByUpstream(RouterID remote, PathID_t rxid) const; void - ExpirePaths(llarp_time_t now); + ExpirePaths(llarp_time_t now, AbstractRouter* router); /// get the number of paths in this status size_t