Class SendMessageDirectJob

  • All Implemented Interfaces:
    Job

    public class SendMessageDirectJob
    extends JobImpl
    Send a message directly to another router, i.e. not through a tunnel. This is safe to run inline via runJob(). If the RouterInfo for the Hash is not found locally, it will queue a lookup and register itself to be run again when the lookup succeeds or times out.
    • Constructor Detail

      • SendMessageDirectJob

        public SendMessageDirectJob​(RouterContext ctx,
                                    I2NPMessage message,
                                    Hash toPeer,
                                    int timeoutMs,
                                    int priority)
        Parameters:
        toPeer - may be ourselves
      • SendMessageDirectJob

        public SendMessageDirectJob​(RouterContext ctx,
                                    I2NPMessage message,
                                    Hash toPeer,
                                    ReplyJob onSuccess,
                                    Job onFail,
                                    MessageSelector selector,
                                    int timeoutMs,
                                    int priority)
        Parameters:
        toPeer - may be ourselves
        onSuccess - may be null
        onFail - may be null
        selector - be null
      • SendMessageDirectJob

        public SendMessageDirectJob​(RouterContext ctx,
                                    I2NPMessage message,
                                    Hash toPeer,
                                    Job onSend,
                                    ReplyJob onSuccess,
                                    Job onFail,
                                    MessageSelector selector,
                                    int timeoutMs,
                                    int priority)
        Parameters:
        toPeer - may be ourselves
        onSend - may be null
        onSuccess - may be null
        onFail - may be null
        selector - be null
    • 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.