Esempio n. 1
0
        public TunnelGatewayMessage(II2NPHeader16 header, I2PTunnelId outtunnel)
        {
            var msg = header.HeaderAndPayload;

            AllocateBuffer(6 + msg.Length);

            TunnelId             = outtunnel;
            GatewayMessageLength = (ushort)msg.Length;
            // TODO: Removey mem copy
            Payload.Poke(msg, 6);
        }
Esempio n. 2
0
        public FragmentedMessage(II2NPHeader16 msg)
        {
            BufLen msgbytes;

            // Convert to 5 byte header
            var orig    = new BufLen(msg.HeaderAndPayload);
            var msgtype = orig[0];
            var exp     = new I2PDate(orig.PeekFlip64(5));

            msgbytes    = new BufLen(orig, 16 - 5);
            msgbytes[0] = msgtype;
            msgbytes.PokeFlip32((uint)((ulong)exp / 1000), 1);

            MessageId = BufUtils.RandomUint();

            FragmentReader = new BufRefLen(msgbytes);
        }
Esempio n. 3
0
 public TunnelMessageTunnel(II2NPHeader16 header, InboundTunnel tunnel)
     : base(header, tunnel.Destination, DeliveryTypes.Tunnel)
 {
     Tunnel = tunnel.GatewayTunnelId;
 }
Esempio n. 4
0
 public TunnelMessageTunnel(II2NPHeader16 header, I2PIdentHash destination, I2PTunnelId tunnel)
     : base(header, destination, DeliveryTypes.Tunnel)
 {
     Tunnel = tunnel;
 }
Esempio n. 5
0
 public TunnelMessageRouter(II2NPHeader16 header, I2PIdentHash destination)
     : base(header, DeliveryTypes.Router)
 {
     Destination = destination;
 }
Esempio n. 6
0
 protected TunnelMessageRouter(II2NPHeader16 header, I2PIdentHash destination, DeliveryTypes dt)
     : base(header, dt)
 {
     Destination = destination;
 }
Esempio n. 7
0
 public TunnelMessageLocal(II2NPHeader16 header) : base(header, DeliveryTypes.Local)
 {
 }
Esempio n. 8
0
 protected TunnelMessage(II2NPHeader16 header, DeliveryTypes dt)
 {
     Header = header; Delivery = dt;
 }