net.i2p.router.startup

## Class CreateRouterInfoJob

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

All Implemented Interfaces:
  Job

    public class CreateRouterInfoJob
    extends JobImpl

### Constructor Summary

Constructors
Constructor and Description
`CreateRouterInfoJob(RouterContext ctx, Job next)`

### Method Summary

Methods
`(package private) RouterInfo` `createRouterInfo()` Caller must hold Router.routerInfoFileLock
`(package private) static long` `getCurrentPublishDate(RouterContext context)` We probably don't want to expose the exact time at which a router published its info.
`String` `getName()` Descriptive name of the task
`void` `runJob()` Actually perform the task.

### 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`

### Constructor Detail

#### CreateRouterInfoJob

    public CreateRouterInfoJob(RouterContext ctx,
                       Job next)

### 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.

#### createRouterInfo

    RouterInfo createRouterInfo()

Caller must hold Router.routerInfoFileLock

#### getCurrentPublishDate

    static long getCurrentPublishDate(RouterContext context)

We probably don't want to expose the exact time at which a router published its info. perhaps round down to the nearest minute? 10 minutes? 30 minutes? day?