From e2472d985de5e9cfbf0662866db54e647d1bd3f3 Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Thu, 28 Nov 2019 15:50:15 -0500 Subject: [PATCH] process transit hops on flush --- llarp/path/transit_hop.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/llarp/path/transit_hop.cpp b/llarp/path/transit_hop.cpp index 6e21bca9d..5f93798c2 100644 --- a/llarp/path/transit_hop.cpp +++ b/llarp/path/transit_hop.cpp @@ -213,6 +213,15 @@ namespace llarp std::move(m_UpstreamQueue), r)); m_UpstreamQueue = nullptr; + std::vector< RelayUpstreamMessage > msgs; + do + { + auto maybe = m_UpstreamGather.tryPopFront(); + if(not maybe.has_value()) + break; + msgs.emplace_back(maybe.value()); + } while(true); + HandleAllUpstream(std::move(msgs), r); } void @@ -223,6 +232,15 @@ namespace llarp shared_from_this(), std::move(m_DownstreamQueue), r)); m_DownstreamQueue = nullptr; + std::vector< RelayDownstreamMessage > msgs; + do + { + auto maybe = m_DownstreamGather.tryPopFront(); + if(not maybe.has_value()) + break; + msgs.emplace_back(maybe.value()); + } while(true); + HandleAllDownstream(std::move(msgs), r); } bool