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

Packages that use GarlicMessage
net.i2p.router.message

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)`
`static GarlicMessage` `GarlicMessageBuilder.buildMessage(RouterContext ctx, GarlicConfig config, SessionKey wrappedKey, java.util.Set wrappedTags)`
`static GarlicMessage` `GarlicMessageBuilder.buildMessage(RouterContext ctx, GarlicConfig config, SessionKey wrappedKey, java.util.Set wrappedTags, int numTagsToDeliver)`
`static GarlicMessage` `GarlicMessageBuilder.buildMessage(RouterContext ctx, GarlicConfig config, SessionKey wrappedKey, java.util.Set wrappedTags, int numTagsToDeliver, boolean forceElGamal)`
`static GarlicMessage` `GarlicMessageBuilder.buildMessage(RouterContext ctx, GarlicConfig config, SessionKey wrappedKey, java.util.Set wrappedTags, PublicKey target, SessionKey encryptKey, SessionTag encryptTag)`

`(package private) static GarlicMessage`

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

`(package private) static GarlicMessage`

`OutboundClientMessageJobHelper.createGarlicMessage(RouterContext ctx, long replyToken, long expiration, PublicKey recipientPK, Payload data, Hash from, Destination dest, TunnelInfo replyTunnel, SessionKey wrappedKey, java.util.Set 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)`
`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)`