예제 #1
0
        public TunnelGatewayMessage(I2NPMessage message, I2PTunnelId outtunnel)
        {
            var msg = message.CreateHeader16.HeaderAndPayload;

            AllocateBuffer(6 + msg.Length);

            TunnelId             = outtunnel;
            GatewayMessageLength = (ushort)msg.Length;
            // TODO: Remove mem copy
            Payload.Poke(msg, 6);
        }
예제 #2
0
 public TunnelMessageTunnel(I2NPMessage message, InboundTunnel tunnel)
     : base(message, tunnel.Destination, DeliveryTypes.Tunnel)
 {
     Tunnel = tunnel.GatewayTunnelId;
 }
예제 #3
0
 public TunnelMessageTunnel(I2NPMessage message, I2PIdentHash destination, I2PTunnelId tunnel)
     : base(message, destination, DeliveryTypes.Tunnel)
 {
     Tunnel = tunnel;
 }
예제 #4
0
 public TunnelMessageRouter(I2NPMessage message, I2PIdentHash destination)
     : base(message, DeliveryTypes.Router)
 {
     Destination = destination;
 }
예제 #5
0
 protected TunnelMessageRouter(I2NPMessage message, I2PIdentHash destination, DeliveryTypes dt)
     : base(message, dt)
 {
     Destination = destination;
 }
예제 #6
0
 public TunnelMessageLocal(I2NPMessage message) : base(message, DeliveryTypes.Local)
 {
 }
예제 #7
0
 protected TunnelMessage(I2NPMessage message, DeliveryTypes dt)
 {
     Message  = message;
     Delivery = dt;
 }