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); }
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); }
public TunnelMessageTunnel(II2NPHeader16 header, InboundTunnel tunnel) : base(header, tunnel.Destination, DeliveryTypes.Tunnel) { Tunnel = tunnel.GatewayTunnelId; }
public TunnelMessageTunnel(II2NPHeader16 header, I2PIdentHash destination, I2PTunnelId tunnel) : base(header, destination, DeliveryTypes.Tunnel) { Tunnel = tunnel; }
public TunnelMessageRouter(II2NPHeader16 header, I2PIdentHash destination) : base(header, DeliveryTypes.Router) { Destination = destination; }
protected TunnelMessageRouter(II2NPHeader16 header, I2PIdentHash destination, DeliveryTypes dt) : base(header, dt) { Destination = destination; }
public TunnelMessageLocal(II2NPHeader16 header) : base(header, DeliveryTypes.Local) { }
protected TunnelMessage(II2NPHeader16 header, DeliveryTypes dt) { Header = header; Delivery = dt; }