net.i2p.router.message
Class OutboundClientMessageOneShotJob

java.lang.Object
  extended by net.i2p.router.JobImpl
      extended by 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 (sometimes) bundles the sender's leaseSet and a DeliveryStatusMessage (for ACKing any sessionTags used in the garlic).


Field Summary
static String BUNDLE_REPLY_LEASESET
          NOTE: Changed as of 0.9.2.
static String OVERALL_TIMEOUT_MS_PARAM
          final timeout (in milliseconds) that the outbound message will fail in.
 
Constructor Summary
OutboundClientMessageOneShotJob(RouterContext ctx, OutboundCache cache, 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
NOTE: Changed as of 0.9.2. Defaults to true. If the client's config specifies shouldBundleReplyInfo=true, messages sent from that client to any peers will periodically 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. For clients that do not publish their LeaseSet, this option must be true for any reply to be possible. Setting to "false" may save significant outbound bandwidth, especially if the client is configured with a large number of inbound tunnels (Leases). If replies are still required, this may shift the bandwidth burden to the far-end client and the floodfill. There are several cases where "false" is may be appropriate:

See Also:
Constant Field Values
Constructor Detail

OutboundClientMessageOneShotJob

public OutboundClientMessageOneShotJob(RouterContext ctx,
                                       OutboundCache cache,
                                       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.