From cf6fa2d41d0c9bf695b67f2eb2c73bbcbc67efe5 Mon Sep 17 00:00:00 2001 From: orignal Date: Sun, 6 Apr 2014 18:30:27 -0400 Subject: [PATCH] speedup inbound tunnels creation --- TunnelPool.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TunnelPool.cpp b/TunnelPool.cpp index 33f6cbda..875a51f6 100644 --- a/TunnelPool.cpp +++ b/TunnelPool.cpp @@ -169,14 +169,14 @@ namespace tunnel *m_OutboundTunnels.begin () : tunnels.GetNextOutboundTunnel (); LogPrint ("Creating destination inbound tunnel..."); auto firstHop = i2p::data::netdb.GetRandomRouter (outboundTunnel ? outboundTunnel->GetEndpointRouter () : nullptr); - auto secondHop = i2p::data::netdb.GetRandomRouter (firstHop); + auto secondHop = outboundTunnel ? outboundTunnel->GetTunnelConfig ()->GetFirstHop ()->router : nullptr; + if (!secondHop || secondHop->GetIdentHash () == i2p::context.GetIdentHash ()) + secondHop = i2p::data::netdb.GetRandomRouter (firstHop); auto * tunnel = tunnels.CreateTunnel ( new TunnelConfig (std::vector { firstHop, secondHop - // TODO: switch to 3-hops later - /*i2p::data::netdb.GetRandomRouter (secondHop) */ }), outboundTunnel); tunnel->SetTunnelPool (this);