net.i2p.router.tunnel.pool

## Class ExpireJob

- java.lang.Object
- - net.i2p.router.JobImpl
  - - net.i2p.router.tunnel.pool.ExpireJob

- All Implemented Interfaces:
    Job

      class ExpireJob
      extends JobImpl

  Handles tunnel expiration in two phases for graceful shutdown. First run removes tunnel from LeaseSet and triggers refresh. Second run stops accepting data for the tunnel entirely. Uses randomized early expiration with different timing for inbound vs outbound tunnels.

- - ### Field Summary

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

      `_id`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExpireJob(RouterContext ctx, PooledTunnelCreatorConfig cfg)`

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

    - #### ExpireJob

          public ExpireJob(RouterContext ctx,
                           PooledTunnelCreatorConfig cfg)

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