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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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