class HandleFloodfillDatabaseStoreMessageJob extends JobImpl
Handles incoming database store operations for both RouterInfo and LeaseSet entries with comprehensive validation, filtering, and storage logic. Implements sophisticated acceptance criteria including version checks, capability validation, reachability assessment, and distance-based routing for floodfill operations.
Provides DOS protection through throttling, banlist enforcement, and probabilistic dropping based on database load and peer characteristics. Supports both floodfill and client database contexts with role-specific handling for each entry type.
Manages acknowledgment responses, data flooding to other floodfills, and maintains detailed statistics for store operation performance and security.
| Constructor and Description |
|---|
HandleFloodfillDatabaseStoreMessageJob(RouterContext ctx,
DatabaseStoreMessage receivedMessage,
RouterIdentity from,
Hash fromHash,
FloodfillNetworkDatabaseFacade facade,
long msgIDBloomXor) |
| Modifier and Type | Method and Description |
|---|---|
void |
dropped()
Default implementation does nothing.
|
String |
getName()
Descriptive name of the task
|
void |
runJob()
Actually perform the task.
|
getContext, getJobId, getMadeReadyOn, getTiming, madeReady, requeue, toStringpublic HandleFloodfillDatabaseStoreMessageJob(RouterContext ctx, DatabaseStoreMessage receivedMessage, RouterIdentity from, Hash fromHash, FloodfillNetworkDatabaseFacade facade, long msgIDBloomXor)
receivedMessage - must never have reply token set if it came down a tunnelpublic void dropped()
JobImplpublic String getName()
Jobpublic void runJob()
Job