Packages that use DatabaseEntry
Package
Description
Common data structures used by the I2P protocols: Destination, LeaseSet, PublicKey, Signature, Certificate and their friends.
Low-level messages sent between routers - the Invisible Internet Network Protocol (I2NP).
Router-specific data structures: RouterInfo and RouterIdentity with their transport addresses and capabilities, router key generation, and the optionally password-protected router private key file.
The I2P router application handles I2P network communication.
Simplified fake implementations of router interfaces (comm system and friends) for testing and embedded builds.
Network database message handling shared by all facades: database lookup jobs and local RouterInfo publication.
The Kademlia distributed hash table (DHT) network database: lookup, store and explore jobs, the data store, the floodfill variants, and lookup throttling.
Uses of DatabaseEntry in net.i2p.data
Subclasses of DatabaseEntry in net.i2p.dataModifier and TypeClassDescriptionclassImplementation of EncryptedLeaseSet as specified in Proposal 123: New NetDb Entries.classDefines the set of leases that a destination currently has available for routing messages.classImplementation of LeaseSet2 as specified in Proposal 123: New NetDb Entries.classImplementation of MetaLeaseSet as specified in Proposal 123: New NetDb Entries.Uses of DatabaseEntry in net.i2p.data.i2np
Fields in net.i2p.data.i2np declared as DatabaseEntryModifier and TypeFieldDescriptionprivate DatabaseEntryDatabaseStoreMessage._dbEntryThe entry being stored.Methods in net.i2p.data.i2np that return DatabaseEntryModifier and TypeMethodDescriptionDatabaseStoreMessage.getEntry()Defines the entry in the network database being stored.Methods in net.i2p.data.i2np with parameters of type DatabaseEntryModifier and TypeMethodDescriptionvoidDatabaseStoreMessage.setEntry(DatabaseEntry entry) This also sets the key.Uses of DatabaseEntry in net.i2p.data.router
Subclasses of DatabaseEntry in net.i2p.data.routerModifier and TypeClassDescriptionclassDefines 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 DatabaseEntryModifier and TypeMethodDescriptionabstract DatabaseEntryNetworkDatabaseFacade.lookupLocally(Hash key) Lookup a database entry locally.abstract DatabaseEntryNetworkDatabaseFacade.lookupLocallyWithoutValidation(Hash key) Not for use without validation.NetworkDatabaseFacade.store(Hash key, DatabaseEntry entry) Store a DatabaseEntry in the network database.Methods in net.i2p.router with parameters of type DatabaseEntryModifier and TypeMethodDescriptionNetworkDatabaseFacade.store(Hash key, DatabaseEntry entry) Store a DatabaseEntry in the network database.Uses of DatabaseEntry in net.i2p.router.dummy
Methods in net.i2p.router.dummy that return DatabaseEntryModifier and TypeMethodDescriptionDummyNetworkDatabaseFacade.lookupLocally(Hash key) DummyNetworkDatabaseFacade.lookupLocallyWithoutValidation(Hash key) Uses of DatabaseEntry in net.i2p.router.networkdb
Methods in net.i2p.router.networkdb with parameters of type DatabaseEntryModifier and TypeMethodDescriptionprivate voidHandleDatabaseLookupMessageJob.sendData(Hash key, DatabaseEntry data, Hash toPeer, TunnelId replyTunnel) Sends the data that was found.Uses of DatabaseEntry in net.i2p.router.networkdb.kademlia
Fields in net.i2p.router.networkdb.kademlia declared as DatabaseEntryFields in net.i2p.router.networkdb.kademlia with type parameters of type DatabaseEntryModifier and TypeFieldDescriptionprivate final ConcurrentHashMap<Hash, DatabaseEntry> TransientDataStore._dataEntries held only for this router's uptime.private final Map<Hash, DatabaseEntry> PersistentDataStore.Writer._keysQueue of entries pending disk write.Methods in net.i2p.router.networkdb.kademlia that return DatabaseEntryModifier and TypeMethodDescriptionRetrieve the database entry for the given key.Retrieve the database entry for the given key with optional persistence control.The entry stored for the key, or null if not found.Prepare for having only a partial set in memory and the rest on disk.The entry for the key, or null if not found.For PersistentDataStore only - don't use here.StoreState.getData()The data being stored.KademliaNetworkDatabaseFacade.lookupLocally(Hash key) Validated entry stored locally.KademliaNetworkDatabaseFacade.lookupLocallyWithoutValidation(Hash key) Not for use without validation.Remove the entry for the given key.Remove the entry for the given key with optional persistence control.Remove from memory and queue the file for disk deletion.Remove from memory and optionally queue disk deletion.Remove and return the entry for the key.For PersistentDataStore only - don't use here.Methods in net.i2p.router.networkdb.kademlia that return types with arguments of type DatabaseEntryModifier and TypeMethodDescriptionprivate List<Map.Entry<Hash, DatabaseEntry>> PersistentDataStore.Writer.drainPending()Drain up to WRITE_LIMIT pending entries from the write queue.DataStore.getEntries()All entries in the data store.TransientDataStore.getEntries()All stored entries.DataStore.getMapEntries()All map entries in the data store.TransientDataStore.getMapEntries()All stored entries as key-value pairs.Methods in net.i2p.router.networkdb.kademlia with parameters of type DatabaseEntryModifier and TypeMethodDescriptionvoidFloodfillNetworkDatabaseFacade.flood(DatabaseEntry ds) Send to a subset of all floodfill peers.booleanFloodfillNetworkDatabaseFacade.floodConditional(DatabaseEntry ds) If we are floodfill AND the key is not throttled, flood it, otherwise don't.booleanDataStore.forcePut(Hash key, DatabaseEntry data) Unconditionally store, bypass all newer/older checks.booleanPersistentDataStore.forcePut(Hash key, DatabaseEntry data) Unconditionally store, bypassing all newer/older checks.booleanTransientDataStore.forcePut(Hash key, DatabaseEntry data) Unconditionally store, bypass all newer/older checks.private HashFloodfillStoreJob.getClientHash(DatabaseEntry data, Hash key) The client hash from the data, or the key if not available.private static longPersistentDataStore.getPublishDate(DatabaseEntry data) Returns the publish date of an entry.private longFloodfillStoreJob.getPublishedTimestamp(DatabaseEntry data) The published timestamp from the data.private voidFloodfillVerifyStoreJob.handleStoreMessage(DatabaseEntry entry, long delayMs) Handle a store message (entry present) for the current phase.private booleanFloodfillVerifyStoreJob.isFresh(DatabaseEntry entry) Is the entry at least as new as what we published?private voidKademliaNetworkDatabaseFacade.processStoreFailure(Hash h, DatabaseEntry entry) If the validate fails, call this to determine if it was because of unsupported crypto.booleanDataStore.put(Hash key, DatabaseEntry data) Store a database entry with the given key.booleanDataStore.put(Hash key, DatabaseEntry data, boolean persist) Store a database entry with the given key and persistence control.booleanPersistentDataStore.put(Hash key, DatabaseEntry data) Store the entry and persist it to disk.booleanPersistentDataStore.put(Hash key, DatabaseEntry data, boolean persist) Store the entry and optionally persist it to disk.booleanTransientDataStore.put(Hash key, DatabaseEntry data) Store an entry, replacing any previous one for the key.booleanTransientDataStore.put(Hash key, DatabaseEntry data, boolean persist) For PersistentDataStore only - don't use here.voidPersistentDataStore.Writer.queue(Hash key, DatabaseEntry data) Add entry to the disk write queue.(package private) voidFloodfillNetworkDatabaseFacade.sendStore(Hash key, DatabaseEntry ds, Job onSuccess, Job onFailure, long sendTimeout, Set<Hash> toIgnore) Send out a store.(package private) abstract voidKademliaNetworkDatabaseFacade.sendStore(Hash key, DatabaseEntry ds, Job onSuccess, Job onFailure, long sendTimeout, Set<Hash> toIgnore) See implementation in FNDF.(package private) static booleanFloodfillNetworkDatabaseFacade.shouldFloodOnStore(boolean floodfillEnabled, DatabaseEntry ds) Whether sendStore should wide-flood the entry viaFloodfillNetworkDatabaseFacade.flood(DatabaseEntry)when this router participates in floodfill.(package private) static intFloodfillNetworkDatabaseFacade.storeJobCount(boolean floodfillEnabled, DatabaseEntry ds, int selectedCount) How many FloodfillStoreJob instances sendStore should schedule alongside (or instead of) a wide flood.private voidPersistentDataStore.write(Hash key, DatabaseEntry data) Persist a single RouterInfo to disk, applying spoof/ban checks.private booleanPersistentDataStore.writeRiFile(Hash key, DatabaseEntry data, File dbFile) Write a single RouterInfo to disk.Method parameters in net.i2p.router.networkdb.kademlia with type arguments of type DatabaseEntryModifier and TypeMethodDescriptionprivate voidPersistentDataStore.Writer.writeBatch(List<Map.Entry<Hash, DatabaseEntry>> entries) Write a batch of RouterInfo entries to disk under the _dbDir lock.Constructors in net.i2p.router.networkdb.kademlia with parameters of type DatabaseEntryModifierConstructorDescriptionFloodfillStoreJob(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) Starts a store tracking no skipped peers.StoreState(RouterContext ctx, Hash key, DatabaseEntry data, Set<Hash> toSkip) New store state tracking pending, attempted, and successful peers.