net.i2p.router.startup

## Class StartupJob

- java.lang.Object
- - net.i2p.router.JobImpl
  - - net.i2p.router.startup.StartupJob

- All Implemented Interfaces:
    Job

      public class StartupJob
      extends JobImpl

  The StartupJob should be run once on router startup to initialize the system and set things in motion. This task loads the router configuration and then queues up a LoadRouterInfoJob, which reads the old RouterInfo structure from a previously saved version on disk. If it can't find one, it fires up a CreateRouterInfoJob which builds a new one from scratch, including a new RouterIdentity and then reruns the LoadRouterInfoJob. After that the router begins listening on its ports by running the BootCommSystemJob which is followed by the BootNetworkDbJob, though BuildTrustedLinksJob may occur as well. After running the BootNetworkDbJob, the final StartAcceptingClientsJob is queued up, which finishes the startup.

- - ### Field Summary

    - ### Fields inherited from class net.i2p.router.JobImpl

      `_id`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StartupJob(RouterContext context)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getName()` Descriptive name of the task
    `void` | `runJob()` Actually perform the task.

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

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

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

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

- - ### Constructor Detail

    - #### StartupJob

          public StartupJob(RouterContext context)

  - ### Method Detail

    - #### getName

          public String getName()

      Description copied from interface: `Job`
      Descriptive name of the task
      Returns:
        the 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.