Esempio n. 1
0
        public OutboundTunnel(ITunnelOwner owner, TunnelConfig config, int replytunnelhops)
            : base(owner, config)
        {
            var outtunnel = config.Info.Hops[0];

            NextHop         = outtunnel.Peer.IdentHash;
            SendTunnelId    = outtunnel.TunnelId;
            ReplyTunnelHops = replytunnelhops;
        }
Esempio n. 2
0
        // Fake 0-hop
        protected InboundTunnel(ITunnelOwner owner, TunnelConfig config)
            : base(owner, config)
        {
            Established = true;

            ReceiveTunnelId = config.Info.Hops.Last().TunnelId;
            RemoteGateway   = RouterContext.Inst.MyRouterIdentity.IdentHash;
            GatewayTunnelId = ReceiveTunnelId;

            Logging.LogDebug($"{this}: 0-hop tunnel {Destination?.Id32Short} created.");
        }
Esempio n. 3
0
 protected Tunnel(ITunnelOwner owner, TunnelConfig config)
 {
     Owner            = owner;
     Config           = config;
     TunnelMemberHops = config == null ? 1 : config.Info.Hops.Count;
     TunnelSeqNr      = Interlocked.Increment(ref TunnelIdCounter);
     TunnelDebugTrace = $"<{TunnelSeqNr}>";
     if (TunnelSeqNr > int.MaxValue - 100)
     {
         TunnelIdCounter = 1;
     }
 }
Esempio n. 4
0
        public InboundTunnel(ITunnelOwner owner, TunnelConfig config, int outtunnelhops)
            : base(owner, config)
        {
            OutTunnelHops = outtunnelhops;

            var gw = config.Info.Hops[0];

            RemoteGateway   = gw.Peer.IdentHash;
            GatewayTunnelId = gw.TunnelId;

            ReceiveTunnelId = config.Info.Hops.Last().TunnelId;

#if LOG_ALL_TUNNEL_TRANSFER
            Logging.LogDebug($"InboundTunnel: Tunnel {Destination?.Id32Short} created.");
#endif
        }
Esempio n. 5
0
 public CaptureOutTunnel(ITunnelOwner owner, TunnelConfig config) : base(owner, config, 3)
 {
 }
Esempio n. 6
0
 public ZeroHopTunnel(ITunnelOwner owner, TunnelConfig config)
     : base(owner, config)
 {
 }