createGarlicMessage
static GarlicMessage createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
PublicKey recipientPK,
PayloadGarlicConfig dataClove,
Hash from,
Destination dest,
TunnelInfo replyTunnel,
int tagsToSendOverride,
int lowTagsOverride,
SessionKey wrappedKey,
Set<SessionTag> wrappedTags,
boolean requireAck,
LeaseSet bundledReplyLeaseSet,
ReplyCallback callback)
Allow the app to specify the data clove directly, which enables OutboundClientMessage to resend the
same payload (including expiration and unique id) in different garlics (down different tunnels)
This is called from OCMOSJ
- Parameters:
dataClove
- may be null for ECIES-layer ack
tagsToSendOverride
- if > 0, use this instead of skm's default
lowTagsOverride
- if > 0, use this instead of skm's default
wrappedKey
- for ElGamal, non-null with null data,
output parameter that will be filled with the SessionKey used,
may be null for ECIES
wrappedTags
- for ElGamal, output parameter that will be filled with the sessionTags used,
may be null for ECIES
replyTunnel
- non-null if requireAck is true or bundledReplyLeaseSet is non-null
requireAck
- if true, bundle replyToken in an ack clove
bundledReplyLeaseSet
- may be null; if non-null, put it in a clove
callback
- only for ECIES, may be null
- Returns:
- garlic, or null if no tunnels were found (or other errors)