Esempio n. 1
0
        private InboundTunnel CreateInboundTunnel(IClient client, TunnelInfo prototype)
        {
            var config = new TunnelConfig(
                TunnelConfig.TunnelDirection.Inbound,
                TunnelConfig.TunnelPool.Client,
                prototype ?? CreateIncommingTunnelChain(client));

            var tunnel = (InboundTunnel)TunnelMgr.CreateTunnel(this, config);

            if (tunnel != null)
            {
                tunnel.GarlicMessageReceived += new Action <GarlicMessage>(GarlicMessageReceived);
                TunnelMgr.AddTunnel(tunnel);
                client.AddInboundPending(tunnel);
                PendingTunnels[tunnel] = client;
            }
            return(tunnel);
        }