public abstract class BuildMessageGenerator extends Object
Constructor | Description |
---|---|
BuildMessageGenerator() |
Modifier and Type | Method | Description |
---|---|---|
static void |
createRecord(int recordNum,
int hop,
TunnelBuildMessage msg,
TunnelCreatorConfig cfg,
Hash replyRouter,
long replyTunnel,
I2PAppContext ctx,
PublicKey peerKey) |
Place the asymmetrically encrypted record in the specified record slot,
containing the hop's configuration (as well as the reply info, if it is an outbound endpoint)
|
static boolean |
isBlank(TunnelCreatorConfig cfg,
int hop) |
|
static void |
layeredEncrypt(I2PAppContext ctx,
TunnelBuildMessage msg,
TunnelCreatorConfig cfg,
List<Integer> order) |
Encrypt the records so their hop ident is visible at the appropriate times.
|
public static void createRecord(int recordNum, int hop, TunnelBuildMessage msg, TunnelCreatorConfig cfg, Hash replyRouter, long replyTunnel, I2PAppContext ctx, PublicKey peerKey)
msg
- out parameterpeerKey
- Encrypt using this key.
If null, replyRouter and replyTunnel are ignored,
and the entire record is filled with random dataIllegalArgumentException
- if hop bigger than configpublic static void layeredEncrypt(I2PAppContext ctx, TunnelBuildMessage msg, TunnelCreatorConfig cfg, List<Integer> order)
order
- list of hop #s as Integers. For instance, if (order.get(1) is 4), it is peer cfg.getPeer(4)public static boolean isBlank(TunnelCreatorConfig cfg, int hop)