class OutboundClientMessageJobHelper extends Object
GarlicMessage
Ack Clove (optional)
Tunnel delivery instructions
Garlic Message
Delivery Status Clove
Local delivery instructions
Delivery Status Message
LeaseSet Clove (optional)
Local delivery instructions
Database Store Message
Data Clove (required)
Destination delivery instructions
Data Message
The low-level construction is in GarlicMessageBuilder.| Constructor and Description |
|---|
OutboundClientMessageJobHelper() |
| Modifier and Type | Method and Description |
|---|---|
(package private) static GarlicMessage |
createGarlicMessage(RouterContext ctx,
long replyToken,
long expiration,
net.i2p.data.PublicKey recipientPK,
PayloadGarlicConfig dataClove,
net.i2p.data.Hash from,
net.i2p.data.Destination dest,
TunnelInfo replyTunnel,
int tagsToSendOverride,
int lowTagsOverride,
net.i2p.data.SessionKey wrappedKey,
Set<net.i2p.data.SessionTag> wrappedTags,
boolean requireAck,
net.i2p.data.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
|
static GarlicMessage createGarlicMessage(RouterContext ctx, long replyToken, long expiration, net.i2p.data.PublicKey recipientPK, PayloadGarlicConfig dataClove, net.i2p.data.Hash from, net.i2p.data.Destination dest, TunnelInfo replyTunnel, int tagsToSendOverride, int lowTagsOverride, net.i2p.data.SessionKey wrappedKey, Set<net.i2p.data.SessionTag> wrappedTags, boolean requireAck, net.i2p.data.LeaseSet bundledReplyLeaseSet, ReplyCallback callback)
dataClove - may be null for ECIES-layer acktagsToSendOverride - if > 0, use this instead of skm's defaultlowTagsOverride - if > 0, use this instead of skm's defaultwrappedKey - non-null with null data,
output parameter that will be filled with the SessionKey usedwrappedTags - output parameter that will be filled with the sessionTags usedreplyTunnel - non-null if requireAck is true or bundledReplyLeaseSet is non-nullrequireAck - if true, bundle replyToken in an ack clovebundledReplyLeaseSet - may be null; if non-null, put it in a clovecallback - only for ECIES, may be null