void TunnelPool::CreateTunnels () { int num = m_InboundTunnels.size (); for (int i = num; i < m_NumTunnels; i++) CreateInboundTunnel (); num = m_OutboundTunnels.size (); for (int i = num; i < m_NumTunnels; i++) CreateOutboundTunnel (); }
void TunnelPool::CreateTunnels () { int num = 0; { std::unique_lock<std::mutex> l(m_InboundTunnelsMutex); for (auto it : m_InboundTunnels) if (it->IsEstablished ()) num++; } for (int i = num; i < m_NumInboundTunnels; i++) CreateInboundTunnel (); num = 0; { std::unique_lock<std::mutex> l(m_OutboundTunnelsMutex); for (auto it : m_OutboundTunnels) if (it->IsEstablished ()) num++; } for (int i = num; i < m_NumOutboundTunnels; i++) CreateOutboundTunnel (); }