## Uses of Class
net.i2p.router.crypto.ratchet.RatchetSessionTag

- Packages that use RatchetSessionTag
  Package | Description
  --- | ---
  net.i2p.data.i2np | This package defines the low-level messages sent between routers, called Invisible Internet Network Protocol (I2NP).
  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.networkdb.kademlia | Kademlia DHT implementation and floodfill router functionality for I2P.

- - ### Uses of RatchetSessionTag in net.i2p.data.i2np

    Methods in net.i2p.data.i2np that return RatchetSessionTag
    Modifier and Type | Method and Description
    --- | ---
    `RatchetSessionTag` | DatabaseLookupMessage.`getRatchetReplyTag()` The included session tag or null if unset

    Methods in net.i2p.data.i2np with parameters of type RatchetSessionTag
    Modifier and Type | Method and Description
    --- | ---
    `void` | DatabaseLookupMessage.`setReplySession(SessionKey encryptKey, RatchetSessionTag encryptTag)` Ratchet

  - ### Uses of RatchetSessionTag in net.i2p.router.crypto.ratchet

    Fields in net.i2p.router.crypto.ratchet declared as RatchetSessionTag
    Modifier and Type | Field and Description
    --- | ---
    `RatchetSessionTag` | RatchetEntry.`tag`

    Methods in net.i2p.router.crypto.ratchet that return RatchetSessionTag
    Modifier and Type | Method and Description
    --- | ---
    `RatchetSessionTag` | RatchetTagSet.`consumeNext()` Public for outbound only.

    Methods in net.i2p.router.crypto.ratchet with parameters of type RatchetSessionTag
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | RatchetSKM.`addTag(RatchetSessionTag tag, RatchetTagSet ts)` Map the tag to this tagset.
    `boolean` | SessionTagListener.`addTag(RatchetSessionTag tag, RatchetTagSet ts)` Map the tag to this tagset.
    `SessionKeyAndNonce` | SingleTagSet.`consume(RatchetSessionTag tag)`
    `SessionKeyAndNonce` | RatchetTagSet.`consume(RatchetSessionTag tag)` inbound only
    `SessionKeyAndNonce` | RatchetSKM.`consumeTag(RatchetSessionTag tag)` Inbound.
    `byte[]` | ECIESAEADEngine.`encrypt(CloveSet cloves, SessionKey key, RatchetSessionTag tag)` Create an Existing Session Message to an anonymous target using the given session key and tag, for netdb DSM/DSRM replies.
    `void` | RatchetSKM.`expireTag(RatchetSessionTag tag, RatchetTagSet ts)` Remove the tag associated with this tagset.
    `void` | SessionTagListener.`expireTag(RatchetSessionTag tag, RatchetTagSet ts)` Remove the tag associated with this tagset.
    `void` | RatchetSKM.`tagsReceived(SessionKey key, RatchetSessionTag tag, long expire)` One time session
    `void` | MuxedPQSKM.`tagsReceived(SessionKey key, RatchetSessionTag tag, long expire)` EC only.
    `void` | MuxedSKM.`tagsReceived(SessionKey key, RatchetSessionTag tag, long expire)` EC only One time session

    Constructors in net.i2p.router.crypto.ratchet with parameters of type RatchetSessionTag
    Constructor and Description
    `RatchetEntry(RatchetSessionTag tag, SessionKeyAndNonce key, int keyID, int pn)` outbound - calculated key
    `RatchetEntry(RatchetSessionTag tag, SessionKeyAndNonce key, int keyID, int pn, NextSessionKey nextFwdKey, NextSessionKey nextRevKey, List<Integer> acksToSend)`
    `SingleTagSet(SessionTagListener lsnr, SessionKey key, RatchetSessionTag tag, long date, long timeout)` For outbound Existing Session

  - ### Uses of RatchetSessionTag in net.i2p.router.message

    Methods in net.i2p.router.message with parameters of type RatchetSessionTag
    Modifier and Type | Method and Description
    --- | ---
    `static GarlicMessage` | GarlicMessageBuilder.`buildMessage(RouterContext ctx, GarlicConfig config, SessionKey encryptKey, RatchetSessionTag encryptTag)` Ratchet only.

  - ### Uses of RatchetSessionTag in net.i2p.router.networkdb.kademlia

    Fields in net.i2p.router.networkdb.kademlia declared as RatchetSessionTag
    Modifier and Type | Field and Description
    --- | ---
    `RatchetSessionTag` | MessageWrapper.OneTimeSession.`rtag` non-null for ratchet

    Methods in net.i2p.router.networkdb.kademlia with parameters of type RatchetSessionTag
    Modifier and Type | Method and Description
    --- | ---
    `static GarlicMessage` | MessageWrapper.`wrap(RouterContext ctx, I2NPMessage m, SessionKey encryptKey, RatchetSessionTag encryptTag)` Garlic wrap a message from nobody, destined for an unknown router, to hide the contents from the IBGW.

    Constructors in net.i2p.router.networkdb.kademlia with parameters of type RatchetSessionTag
    Constructor and Description
    `OneTimeSession(SessionKey key, RatchetSessionTag tag)`