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);
        }
Beispiel #2
0
        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);
        }