## net.i2p.router.message
Class OutboundClientMessageOneShotJob

    java.lang.Object
      net.i2p.router.JobImpl
          net.i2p.router.message.OutboundClientMessageOneShotJob

All Implemented Interfaces:
  Job

    public class OutboundClientMessageOneShotJob

extends JobImpl

Send a client message out a random outbound tunnel and into a random inbound tunnel on the target leaseSet. This also bundles the sender's leaseSet and a DeliveryStatusMessage (for ACKing any sessionTags used in the garlic).

Field Summary
`static String` `BUNDLE_PROBABILITY` Allow the override of the frequency of bundling the reply info in with a message.
`static String` `BUNDLE_REPLY_LEASESET` If the client's config specifies shouldBundleReplyInfo=true, messages sent from that client to any peers will probabalistically include the sending destination's current LeaseSet (allowing the recipient to reply without having to do a full netDb lookup).
`static String` `OVERALL_TIMEOUT_MS_PARAM` final timeout (in milliseconds) that the outbound message will fail in.

Constructor Summary
`OutboundClientMessageOneShotJob(RouterContext ctx, ClientMessage msg)` Send the sucker

Method Summary
`String` `getName()` Descriptive name of the task
`static void` `init(RouterContext ctx)` call once only
`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

### OVERALL_TIMEOUT_MS_PARAM

    public static final String OVERALL_TIMEOUT_MS_PARAM

  final timeout (in milliseconds) that the outbound message will fail in. This can be overridden in the router.config or the client's session config (the client's session config takes precedence)

  See Also:
    Constant Field Values

### BUNDLE_REPLY_LEASESET

    public static final String BUNDLE_REPLY_LEASESET

  If the client's config specifies shouldBundleReplyInfo=true, messages sent from that client to any peers will probabalistically include the sending destination's current LeaseSet (allowing the recipient to reply without having to do a full netDb lookup). This should improve performance during the initial negotiations, but is not necessary for communication that isn't bidirectional.

  See Also:
    Constant Field Values

### BUNDLE_PROBABILITY

    public static final String BUNDLE_PROBABILITY

  Allow the override of the frequency of bundling the reply info in with a message. The client app can specify bundleReplyInfoProbability=80 (for instance) and that will cause the router to include the sender's leaseSet with 80% of the messages sent to the peer.

  See Also:
    Constant Field Values

Constructor Detail

### OutboundClientMessageOneShotJob

    public OutboundClientMessageOneShotJob(RouterContext ctx,
                                           ClientMessage msg)

  Send the sucker

Method Detail

### init

    public static void init(RouterContext ctx)

  call once only

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