## Uses of Class
net.i2p.data.i2np.GarlicMessage

Packages that use GarlicMessage
net.i2p.router.message
net.i2p.router.networkdb.kademlia

Uses of GarlicMessage in net.i2p.router.message

Methods in net.i2p.router.message that return GarlicMessage
`static GarlicMessage` `GarlicMessageBuilder.buildMessage(RouterContext ctx, GarlicConfig config, SessionKey wrappedKey, Set<SessionTag> wrappedTags, int numTagsToDeliver, int lowTagsThreshold, boolean forceElGamal, SessionKeyManager skm)` called by netdb
`static GarlicMessage` `GarlicMessageBuilder.buildMessage(RouterContext ctx, GarlicConfig config, SessionKey wrappedKey, Set<SessionTag> wrappedTags, PublicKey target, SessionKey encryptKey, SessionTag encryptTag)` used by TestJob and directly above
`static GarlicMessage` `GarlicMessageBuilder.buildMessage(RouterContext ctx, GarlicConfig config, SessionKey wrappedKey, Set<SessionTag> wrappedTags, SessionKeyManager skm)` called by OCMJH

`(package private) static GarlicMessage`

`OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx, long replyToken, long expiration, PublicKey recipientPK, PayloadGarlicConfig dataClove, Hash from, Destination dest, TunnelInfo replyTunnel, SessionKey wrappedKey, Set<SessionTag> wrappedTags, boolean requireAck, LeaseSet bundledReplyLeaseSet)`
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

`(package private) static GarlicMessage`

`OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx, long replyToken, long expiration, PublicKey recipientPK, Payload data, Hash from, Destination dest, TunnelInfo replyTunnel, SessionKey wrappedKey, Set<SessionTag> wrappedTags, boolean requireAck, LeaseSet bundledReplyLeaseSet)`
Build a garlic message that will be delivered to the router on which the target is located.

Methods in net.i2p.router.message with parameters of type GarlicMessage
`CloveSet` `GarlicMessageParser.getGarlicCloves(GarlicMessage message, PrivateKey encryptionKey, SessionKeyManager skm)`
`void` `GarlicMessageReceiver.receive(GarlicMessage message)`

Constructors in net.i2p.router.message with parameters of type GarlicMessage
`HandleGarlicMessageJob(RouterContext context, GarlicMessage msg, RouterIdentity from, Hash fromHash)`

Uses of GarlicMessage in net.i2p.router.networkdb.kademlia

Methods in net.i2p.router.networkdb.kademlia that return GarlicMessage
`(package private) GarlicMessage` `MessageWrapper.WrappedMessage.getMessage()`

Constructors in net.i2p.router.networkdb.kademlia with parameters of type GarlicMessage
`MessageWrapper.WrappedMessage(GarlicMessage msg, SessionKeyManager skm, PublicKey sentTo, SessionKey sentKey, TagSetHandle tsh)`