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

- Packages that use DatabaseEntry
  Package | Description
  --- | ---
  net.i2p.data | These classes define the common data structures used by the various I2P protocols.
  net.i2p.data.i2np | This package defines the low-level messages sent between routers, called Invisible Internet Network Protocol (I2NP).
  net.i2p.data.router | Router-specific data structures and identity management classes for I2P.
  net.i2p.router | The I2P router application handles I2P network communication.
  net.i2p.router.dummy | Dummy implementations and stub classes for testing purposes.
  net.i2p.router.networkdb.kademlia | Kademlia DHT implementation and floodfill router functionality for I2P.

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

    Subclasses of DatabaseEntry in net.i2p.data
    Modifier and Type | Class and Description
    --- | ---
    `class` | `EncryptedLeaseSet` Implementation of EncryptedLeaseSet as specified in Proposal 123: New NetDb Entries.
    `class` | `LeaseSet` Defines the set of leases that a destination currently has available for routing messages.
    `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 DatabaseEntry in net.i2p.data.i2np

    Methods in net.i2p.data.i2np that return DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `DatabaseEntry` | DatabaseStoreMessage.`getEntry()` Defines the entry in the network database being stored

    Methods in net.i2p.data.i2np with parameters of type DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `void` | DatabaseStoreMessage.`setEntry(DatabaseEntry entry)` This also sets the key

  - ### Uses of DatabaseEntry in net.i2p.data.router

    Subclasses of DatabaseEntry in net.i2p.data.router
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RouterInfo` Defines the data that a router either publishes to the global routing table or provides to trusted peers.

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

    Methods in net.i2p.router that return DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `abstract DatabaseEntry` | NetworkDatabaseFacade.`lookupLocally(Hash key)`
    `abstract DatabaseEntry` | NetworkDatabaseFacade.`lookupLocallyWithoutValidation(Hash key)` Not for use without validation
    `DatabaseEntry` | NetworkDatabaseFacade.`store(Hash key, DatabaseEntry entry)`

    Methods in net.i2p.router with parameters of type DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `DatabaseEntry` | NetworkDatabaseFacade.`store(Hash key, DatabaseEntry entry)`

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

    Methods in net.i2p.router.dummy that return DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `DatabaseEntry` | DummyNetworkDatabaseFacade.`lookupLocally(Hash key)`
    `DatabaseEntry` | DummyNetworkDatabaseFacade.`lookupLocallyWithoutValidation(Hash key)`

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

    Methods in net.i2p.router.networkdb.kademlia that return DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `DatabaseEntry` | DataStore.`get(Hash key)` Retrieve the database entry for the given key.
    `DatabaseEntry` | TransientDataStore.`get(Hash key)`
    `DatabaseEntry` | PersistentDataStore.`get(Hash key)`
    `DatabaseEntry` | DataStore.`get(Hash key, boolean persist)` Retrieve the database entry for the given key with optional persistence control.
    `DatabaseEntry` | TransientDataStore.`get(Hash key, boolean persist)` for PersistentDataStore only - don't use here
    `DatabaseEntry` | PersistentDataStore.`get(Hash key, boolean persist)` Prepare for having only a partial set in memory and the rest on disk
    `DatabaseEntry` | StoreState.`getData()`
    `DatabaseEntry` | KademliaNetworkDatabaseFacade.`lookupLocally(Hash key)`
    `DatabaseEntry` | KademliaNetworkDatabaseFacade.`lookupLocallyWithoutValidation(Hash key)` Not for use without validation
    `DatabaseEntry` | DataStore.`remove(Hash key)` Remove the entry for the given key.
    `DatabaseEntry` | TransientDataStore.`remove(Hash key)`
    `DatabaseEntry` | PersistentDataStore.`remove(Hash key)`
    `DatabaseEntry` | DataStore.`remove(Hash key, boolean persist)` Remove the entry for the given key with optional persistence control.
    `DatabaseEntry` | TransientDataStore.`remove(Hash key, boolean persist)` for PersistentDataStore only - don't use here
    `DatabaseEntry` | PersistentDataStore.`remove(Hash key, boolean persist)`

    Methods in net.i2p.router.networkdb.kademlia that return types with arguments of type DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `Collection<DatabaseEntry>` | DataStore.`getEntries()`
    `Collection<DatabaseEntry>` | TransientDataStore.`getEntries()`
    `Set<Map.Entry<Hash,DatabaseEntry>>` | DataStore.`getMapEntries()`
    `Set<Map.Entry<Hash,DatabaseEntry>>` | TransientDataStore.`getMapEntries()`

    Methods in net.i2p.router.networkdb.kademlia with parameters of type DatabaseEntry
    Modifier and Type | Method and Description
    --- | ---
    `void` | FloodfillNetworkDatabaseFacade.`flood(DatabaseEntry ds)` Send to a subset of all floodfill peers.
    `boolean` | FloodfillNetworkDatabaseFacade.`floodConditional(DatabaseEntry ds)` If we are floodfill AND the key is not throttled, flood it, otherwise don't.
    `boolean` | DataStore.`forcePut(Hash key, DatabaseEntry data)`
    `boolean` | TransientDataStore.`forcePut(Hash key, DatabaseEntry data)`
    `boolean` | PersistentDataStore.`forcePut(Hash key, DatabaseEntry data)`
    `boolean` | DataStore.`put(Hash key, DatabaseEntry data)` Store a database entry with the given key.
    `boolean` | TransientDataStore.`put(Hash key, DatabaseEntry data)`
    `boolean` | PersistentDataStore.`put(Hash key, DatabaseEntry data)`
    `boolean` | DataStore.`put(Hash key, DatabaseEntry data, boolean persist)` Store a database entry with the given key and persistence control.
    `boolean` | TransientDataStore.`put(Hash key, DatabaseEntry data, boolean persist)` for PersistentDataStore only - don't use here
    `boolean` | PersistentDataStore.`put(Hash key, DatabaseEntry data, boolean persist)`
    `(package private) void` | FloodfillNetworkDatabaseFacade.`sendStore(Hash key, DatabaseEntry ds, Job onSuccess, Job onFailure, long sendTimeout, Set<Hash> toIgnore)`
    `(package private) abstract void` | KademliaNetworkDatabaseFacade.`sendStore(Hash key, DatabaseEntry ds, Job onSuccess, Job onFailure, long sendTimeout, Set<Hash> toIgnore)` See implementation in FNDF

    Constructors in net.i2p.router.networkdb.kademlia with parameters of type DatabaseEntry
    Constructor and Description
    `FloodfillStoreJob(RouterContext context, FloodfillNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs)` Create a new FloodfillStoreJob to send data to floodfills.
    `FloodfillStoreJob(RouterContext context, FloodfillNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs, Set<Hash> toSkip)` Create a new FloodfillStoreJob to send data to floodfills.
    `StoreJob(RouterContext context, KademliaNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs)` Send a data structure to the floodfills
    `StoreJob(RouterContext context, KademliaNetworkDatabaseFacade facade, Hash key, DatabaseEntry data, Job onSuccess, Job onFailure, long timeoutMs, Set<Hash> toSkip)`
    `StoreState(RouterContext ctx, Hash key, DatabaseEntry data)`
    `StoreState(RouterContext ctx, Hash key, DatabaseEntry data, Set<Hash> toSkip)`