| 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. |
| Modifier and Type | Class and Description |
|---|---|
class | EncryptedLeaseSetImplementation of EncryptedLeaseSet as specified in
Proposal 123: New NetDb Entries. |
class | LeaseSetDefines the set of leases that a destination currently has available for routing messages. |
class | LeaseSet2Implementation of LeaseSet2 as specified in
Proposal 123: New NetDb Entries. |
class | MetaLeaseSetImplementation of MetaLeaseSet as specified in
Proposal 123: New NetDb Entries. |
| Modifier and Type | Method and Description |
|---|---|
DatabaseEntry | DatabaseStoreMessage.getEntry()Defines the entry in the network database being stored. |
| Modifier and Type | Method and Description |
|---|---|
void | DatabaseStoreMessage.setEntry(DatabaseEntry entry)This also sets the key |
| Modifier and Type | Class and Description |
|---|---|
class | RouterInfoDefines the data that a router either publishes to the global routing table or
provides to trusted peers. |
| Modifier and Type | Method and Description |
|---|---|
abstract DatabaseEntry | NetworkDatabaseFacade.lookupLocally(Hash key)Lookup a database entry locally. |
abstract DatabaseEntry | NetworkDatabaseFacade.lookupLocallyWithoutValidation(Hash key)Not for use without validation |
DatabaseEntry | NetworkDatabaseFacade.store(Hash key,
DatabaseEntry entry)Store a DatabaseEntry in the network database. |
| Modifier and Type | Method and Description |
|---|---|
DatabaseEntry | NetworkDatabaseFacade.store(Hash key,
DatabaseEntry entry)Store a DatabaseEntry in the network database. |
| Modifier and Type | Method and Description |
|---|---|
DatabaseEntry | DummyNetworkDatabaseFacade.lookupLocally(Hash key) |
DatabaseEntry | DummyNetworkDatabaseFacade.lookupLocallyWithoutValidation(Hash key) |
| Modifier and Type | Method and Description |
|---|---|
DatabaseEntry | DataStore.get(Hash key)Retrieve the database entry for the given key. |
DatabaseEntry | TransientDataStore.get(Hash key)get. |
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)remove. |
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) |
| Modifier and Type | Method and Description |
|---|---|
Collection<DatabaseEntry> | DataStore.getEntries()Gets all entries in the data store. |
Collection<DatabaseEntry> | TransientDataStore.getEntries() |
Set<Map.Entry<Hash,DatabaseEntry>> | DataStore.getMapEntries()Gets all map entries in the data store. |
Set<Map.Entry<Hash,DatabaseEntry>> | TransientDataStore.getMapEntries() |
| 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)data). |
boolean | TransientDataStore.forcePut(Hash key,
DatabaseEntry data)forcePut. |
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)Send out a store. |
(package private) abstract void | KademliaNetworkDatabaseFacade.sendStore(Hash key,
DatabaseEntry ds,
Job onSuccess,
Job onFailure,
long sendTimeout,
Set<Hash> toIgnore)See implementation in FNDF |
| 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)Send a data structure to the floodfills, skipping certain peers |
StoreState(RouterContext ctx,
Hash key,
DatabaseEntry data)StoreState. |
StoreState(RouterContext ctx,
Hash key,
DatabaseEntry data,
Set<Hash> toSkip)Constructs a new StoreState for tracking store operations. |