## net.i2p.router.tunnel.pool
Class HandleTunnelCreateMessageJob

    java.lang.Object
      net.i2p.router.JobImpl
          net.i2p.router.tunnel.pool.HandleTunnelCreateMessageJob

All Implemented Interfaces:
  Job

    public class HandleTunnelCreateMessageJob

extends JobImpl

Receive a request to join a tunnel, and if we aren't overloaded (per the throttle), join it (updating the tunnelDispatcher), then send back the agreement. Even if we are overloaded, send back a reply stating how overloaded we are.

Nested Class Summary
`(package private) static class` `HandleTunnelCreateMessageJob.Builder` job builder to redirect all tunnelCreateMessages through this job type

Field Summary
`static int` `MAX_DURATION_SECONDS` don't accept requests to join for 15 minutes or more

Constructor Summary
`HandleTunnelCreateMessageJob(RouterContext ctx, TunnelCreateMessage msg)`

Method Summary
`java.lang.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`

Field Detail

### MAX_DURATION_SECONDS

    public static final int MAX_DURATION_SECONDS

  don't accept requests to join for 15 minutes or more

  See Also:
    Constant Field Values

Constructor Detail

### HandleTunnelCreateMessageJob

    public HandleTunnelCreateMessageJob(RouterContext ctx,
                                        TunnelCreateMessage msg)

Method Detail

### getName

    public java.lang.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.