# Uses of Package
net.i2p.router.message

- Packages that use net.i2p.router.message
  Package | Description
  --- | ---
  net.i2p.router | The I2P router application handles I2P network communication.
  net.i2p.router.crypto.ratchet | Implementation of ECIES-X25519-AEAD-Ratchet cryptographic protocol (I2P proposal 144), providing forward secrecy and enhanced security for I2P transport communications.
  net.i2p.router.message | Garlic message creation, parsing, and source routing for I2P communications.
  net.i2p.router.tunnel | Core tunnel management, message processing, and encryption for I2P's anonymous routing system.

- Classes in net.i2p.router.message used by net.i2p.router
  Class and Description
  GarlicMessageParser Read a GarlicMessage, decrypt it, and return the resulting CloveSet.
  OutboundCache Helper cache manager for outbound message optimization in OCMOSJ.

- Classes in net.i2p.router.message used by net.i2p.router.crypto.ratchet
  Class and Description
  CloveSet Wrap up the data contained in a GarlicMessage after being decrypted

- Classes in net.i2p.router.message used by net.i2p.router.message
  Class and Description
  CloveSet Wrap up the data contained in a GarlicMessage after being decrypted
  GarlicConfig Define the contents of a garlic chunk that contains 1 or more sub garlics.
  GarlicMessageReceiver.CloveReceiver Interface for handling decrypted garlic cloves.
  OutboundCache Helper cache manager for outbound message optimization in OCMOSJ.
  OutboundCache.HashPair Composite key for caches, combining source and destination Hashes.
  PayloadGarlicConfig Garlic config for a single clove, containing an I2NP message and no sub-cloves.

- Classes in net.i2p.router.message used by net.i2p.router.tunnel
  Class and Description
  GarlicMessageReceiver.CloveReceiver Interface for handling decrypted garlic cloves.