net.i2p.router.networkdb.kademlia

## Class StoreJob

- java.lang.Object
- - net.i2p.router.JobImpl
  - - net.i2p.router.networkdb.kademlia.StoreJob

All Implemented Interfaces:
  Job

Direct Known Subclasses:
  FloodfillStoreJob

     class StoreJob
    extends JobImpl

### Field Summary

Fields
`protected Log` `_log`
`protected StoreState` `_state`

### Constructor Summary

Constructors
Constructor and Description
`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)`

### Method Summary

Methods
`protected void` `fail()` Send totally failed
`String` `getName()` Descriptive name of the task
`protected int` `getParallelization()`
`protected int` `getRedundancy()`
`void` `runJob()` Actually perform the task.
`protected void` `succeed()` Send was totally successful

### Methods inherited from class net.i2p.router.JobImpl

`dropped, getAddedBy, getContext, getJobId, getMadeReadyOn, getTiming, madeReady, requeue, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### _log

    protected Log _log

#### _state

    protected StoreState _state

### Constructor Detail

#### StoreJob

    public StoreJob(RouterContext context,
            KademliaNetworkDatabaseFacade facade,
            Hash key,
            DatabaseEntry data,
            Job onSuccess,
            Job onFailure,
            long timeoutMs)

Send a data structure to the floodfills

#### StoreJob

    public StoreJob(RouterContext context,
            KademliaNetworkDatabaseFacade facade,
            Hash key,
            DatabaseEntry data,
            Job onSuccess,
            Job onFailure,
            long timeoutMs,
            Set<Hash> toSkip)

Parameters:
  `toSkip` - set of peer hashes of people we dont want to send the data to (e.g. we already know they have it). This can be null.

### Method Detail

#### getName

    public String getName()

Description copied from interface: `Job`
Descriptive name of the task

#### runJob

    public void runJob()

Description copied from interface: `Job`
Actually perform the task. This call blocks until the Job is complete.

#### getParallelization

    protected int getParallelization()

#### getRedundancy

    protected int getRedundancy()

#### succeed

    protected void succeed()

Send was totally successful

#### fail

    protected void fail()

Send totally failed