private Tunnel CreateExploratoryOutboundTunnel() { var config = new TunnelConfig( TunnelConfig.TunnelDirection.Outbound, TunnelConfig.TunnelPool.Exploratory, CreateOutgoingTunnelChain()); var tunnel = TunnelMgr.CreateTunnel(this, config); if (tunnel != null) { Tunnels[tunnel] = false; TunnelMgr.AddTunnel((OutboundTunnel)tunnel); } return(tunnel); }
private OutboundTunnel CreateOutboundTunnel(IClient client, TunnelInfo prototype) { var config = new TunnelConfig( TunnelConfig.TunnelDirection.Outbound, TunnelConfig.TunnelPool.Client, prototype ?? CreateOutgoingTunnelChain(client)); var tunnel = (OutboundTunnel)TunnelMgr.CreateTunnel(this, config); if (tunnel != null) { TunnelMgr.AddTunnel(tunnel); client.AddOutboundPending(tunnel); PendingTunnels[tunnel] = client; } return(tunnel); }