Package net.i2p.router.message
Class OutboundClientMessageJobHelper
java.lang.Object
net.i2p.router.message.OutboundClientMessageJobHelper
Static methods to create a Garlic Message with one or more cloves, as follows:
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 MessageThe low-level construction is in GarlicMessageBuilder.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) 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
-
Constructor Details
-
OutboundClientMessageJobHelper
OutboundClientMessageJobHelper()
-
-
Method Details
-
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 ackreplyTunnel
- non-null if requireAck is true or bundledReplyLeaseSet is non-nulltagsToSendOverride
- if > 0, use this instead of skm's defaultlowTagsOverride
- if > 0, use this instead of skm's defaultwrappedKey
- for ElGamal, non-null with null data, output parameter that will be filled with the SessionKey used, may be null for ECIESwrappedTags
- for ElGamal, output parameter that will be filled with the sessionTags used, may be null for ECIESrequireAck
- 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- Returns:
- garlic, or null if no tunnels were found (or other errors)
-