## Uses of Class
net.i2p.data.LeaseSet

- Packages that use LeaseSet
  Package | Description
  --- | ---
  net.i2p.client.impl | Internal implementation of the I2P client SDK, providing the client side of the I2CP protocol for applications communicating through I2P.
  net.i2p.data | These classes define the common data structures used by the various I2P protocols.
  net.i2p.data.i2cp | The Invisible Internet Client Protocol (I2CP) allows applications simplified access to I2P network without requiring them to deal with the issues involved with the Invisible Internet Network Protocol (I2NP).
  net.i2p.router | The I2P router application handles I2P network communication.
  net.i2p.router.client | Router-side implementation of the I2CP (I2P Client Protocol) interface for application integration.
  net.i2p.router.dummy | Dummy implementations and stub classes for testing purposes.
  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.
  net.i2p.router.tunnel.pool | Tunnel pool management, creation, and peer selection for I2P's anonymous routing system.

- - ### Uses of LeaseSet in net.i2p.client.impl

    Fields in net.i2p.client.impl declared as LeaseSet
    Modifier and Type | Field and Description
    --- | ---
    `protected LeaseSet` | I2PSessionImpl.`_leaseSet` currently granted lease set, or null

    Methods in net.i2p.client.impl that return LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `(package private) LeaseSet` | I2PSessionImpl.`getLeaseSet()`

    Methods in net.i2p.client.impl with parameters of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `void` | I2CPMessageProducer.`createLeaseSet(I2PSessionImpl session, LeaseSet leaseSet, SigningPrivateKey signingPriv, List<PrivateKey> privs)` In response to a RequestLeaseSet Message from the router, send a CreateLeaseset Message back to the router.
    `(package private) void` | I2PSessionImpl.`setLeaseSet(LeaseSet ls)`
    `protected void` | RequestLeaseSetMessageHandler.`signLeaseSet(LeaseSet leaseSet, boolean isLS2, I2PSessionImpl session)` Finish creating and signing the new LeaseSet

  - ### Uses of LeaseSet in net.i2p.data

    Subclasses of LeaseSet in net.i2p.data
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EncryptedLeaseSet` Implementation of EncryptedLeaseSet as specified in Proposal 123: New NetDb Entries.
    `class` | `LeaseSet2` Implementation of LeaseSet2 as specified in Proposal 123: New NetDb Entries.
    `class` | `MetaLeaseSet` Implementation of MetaLeaseSet as specified in Proposal 123: New NetDb Entries.

  - ### Uses of LeaseSet in net.i2p.data.i2cp

    Fields in net.i2p.data.i2cp declared as LeaseSet
    Modifier and Type | Field and Description
    --- | ---
    `protected LeaseSet` | CreateLeaseSetMessage.`_leaseSet`

    Methods in net.i2p.data.i2cp that return LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `LeaseSet` | CreateLeaseSetMessage.`getLeaseSet()`

    Methods in net.i2p.data.i2cp with parameters of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `void` | CreateLeaseSetMessage.`setLeaseSet(LeaseSet leaseSet)`

  - ### Uses of LeaseSet in net.i2p.router

    Methods in net.i2p.router that return LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `abstract LeaseSet` | NetworkDatabaseFacade.`lookupLeaseSetLocally(Hash key)`
    `abstract LeaseSet` | NetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet)`

    Methods in net.i2p.router that return types with arguments of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `Set<LeaseSet>` | NetworkDatabaseFacade.`getClientLeases()` public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | NetworkDatabaseFacade.`getFloodfillLeases()` public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | NetworkDatabaseFacade.`getLeases()` public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | NetworkDatabaseFacade.`getPublishedLeases()` public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | NetworkDatabaseFacade.`getUnpublishedLeases()` public for NetDbRenderer in routerconsole

    Methods in net.i2p.router with parameters of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | NetworkDatabaseFacade.`publish(LeaseSet localLeaseSet)`
    `abstract void` | ClientManagerFacade.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.
    `abstract void` | ClientManagerFacade.`requestLeaseSet(Hash dest, LeaseSet set)`
    `abstract LeaseSet` | NetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet)`
    `abstract void` | NetworkDatabaseFacade.`unpublish(LeaseSet localLeaseSet)`

  - ### Uses of LeaseSet in net.i2p.router.client

    Methods in net.i2p.router.client that return LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `LeaseSet` | LeaseRequestState.`getGranted()` created lease set from client - FIXME always null
    `LeaseSet` | ClientConnectionRunner.`getLeaseSet(Hash h)` Currently allocated leaseSet.
    `LeaseSet` | LeaseRequestState.`getRequested()` lease set that is being requested

    Methods in net.i2p.router.client with parameters of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `(package private) void` | ClientConnectionRunner.`leaseSetCreated(LeaseSet ls)` called after a new leaseSet is granted by the client, the NetworkDb has been updated.
    `void` | ClientManager.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.
    `void` | ClientManagerFacadeImpl.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.
    `void` | ClientManager.`requestLeaseSet(Hash dest, LeaseSet ls)` Request that a particular client authorize the Leases contained in the LeaseSet.
    `void` | ClientManagerFacadeImpl.`requestLeaseSet(Hash dest, LeaseSet set)` Request that a particular client authorize the Leases contained in the LeaseSet.
    `(package private) void` | ClientConnectionRunner.`requestLeaseSet(Hash h, LeaseSet set, long expirationTime, Job onCreateJob, Job onFailedJob)` Request that a particular client authorize the Leases contained in the LeaseSet, after which the onCreateJob is queued up.
    `void` | LeaseRequestState.`setGranted(LeaseSet ls)` FIXME unused - why?

    Constructors in net.i2p.router.client with parameters of type LeaseSet
    Constructor and Description
    `LeaseRequestState(Job onGranted, Job onFailed, long currentEarliestLeastDate, long expiration, LeaseSet requested)`

  - ### Uses of LeaseSet in net.i2p.router.dummy

    Methods in net.i2p.router.dummy that return LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `LeaseSet` | DummyNetworkDatabaseFacade.`lookupLeaseSetLocally(Hash key)`
    `LeaseSet` | DummyNetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet)`

    Methods in net.i2p.router.dummy with parameters of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `void` | DummyNetworkDatabaseFacade.`publish(LeaseSet localLeaseSet)`
    `void` | DummyClientManagerFacade.`requestLeaseSet(Destination dest, LeaseSet set, long timeout, Job onCreateJob, Job onFailedJob)`
    `void` | DummyClientManagerFacade.`requestLeaseSet(Hash dest, LeaseSet set)`
    `LeaseSet` | DummyNetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet)`
    `void` | DummyNetworkDatabaseFacade.`unpublish(LeaseSet localLeaseSet)`

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

    Fields in net.i2p.router.message with type parameters of type LeaseSet
    Modifier and Type | Field and Description
    --- | ---
    `(package private) ConcurrentHashMap<OutboundCache.HashPair,LeaseSet>` | OutboundCache.`leaseSetCache` LeaseSet cache keyed by source-destination pairs.
    `ConcurrentHashMap<Hash,LeaseSet>` | OutboundCache.`multihomedCache` Cache for LeaseSets associated with multihomed routers or hosted destinations.

    Methods in net.i2p.router.message with parameters of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `(package private) static GarlicMessage` | OutboundClientMessageJobHelper.`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

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

    Methods in net.i2p.router.networkdb.kademlia that return LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `LeaseSet` | KademliaNetworkDatabaseFacade.`lookupLeaseSetLocally(Hash key)` Use lookupDestination() if you don't need the LS or don't need it validated.
    `LeaseSet` | KademliaNetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet)`
    `LeaseSet` | KademliaNetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet, boolean force)` Store the leaseSet.

    Methods in net.i2p.router.networkdb.kademlia that return types with arguments of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `Set<LeaseSet>` | KademliaNetworkDatabaseFacade.`getClientLeases()` public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | KademliaNetworkDatabaseFacade.`getFloodfillLeases()` Public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | KademliaNetworkDatabaseFacade.`getLeases()` public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | KademliaNetworkDatabaseFacade.`getPublishedLeases()` public for NetDbRenderer in routerconsole
    `Set<LeaseSet>` | KademliaNetworkDatabaseFacade.`getUnpublishedLeases()` public for NetDbRenderer in routerconsole

    Methods in net.i2p.router.networkdb.kademlia with parameters of type LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | KademliaNetworkDatabaseFacade.`isNewer(LeaseSet a, LeaseSet b)` Utility to determine if a is newer than b.
    `void` | KademliaNetworkDatabaseFacade.`publish(LeaseSet localLeaseSet)` Publishes a local LeaseSet by storing it and scheduling republishing if applicable.
    `LeaseSet` | KademliaNetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet)`
    `LeaseSet` | KademliaNetworkDatabaseFacade.`store(Hash key, LeaseSet leaseSet, boolean force)` Store the leaseSet.
    `void` | KademliaNetworkDatabaseFacade.`unpublish(LeaseSet localLeaseSet)`
    `String` | KademliaNetworkDatabaseFacade.`validate(Hash key, LeaseSet leaseSet)` Validates whether the given LeaseSet is acceptable as valid and current based on current known parameters.

  - ### Uses of LeaseSet in net.i2p.router.tunnel.pool

    Methods in net.i2p.router.tunnel.pool that return LeaseSet
    Modifier and Type | Method and Description
    --- | ---
    `protected LeaseSet` | AliasedTunnelPool.`locked_buildNewLeaseSet()`
    `protected LeaseSet` | TunnelPool.`locked_buildNewLeaseSet()` Build a leaseSet with the required tunnels that aren't about to expire.