All Known Subinterfaces:
ReplyJob
All Known Implementing Classes:
Analysis, Analysis.InitJob, Banlist.Cleanup, Blocklist.BanlistJob, Blocklist.CleanupJob, Blocklist.ReadinJob, BootCommSystemJob, BootNetworkDbJob, BootPeerManagerJob, BuildHandler.HandleReq, BuildHandler.TimeoutReq, BuildHandler.TunnelBuildMessageHandlerJob, BuildHandler.TunnelBuildNextHopFailJob, BuildHandler.TunnelBuildReplyMessageHandlerJob, BuildRequestor.TunnelBuildFirstHopFailJob, BuildTrustedLinksJob, ClientConnectionRunner.MessageDeliveryStatusUpdate, ClientManager.DistributeLocal, ClientManager.HandleJob, ContactDrivenRefreshJob, CreateRouterInfoJob, CreateSessionJob, DirectLookupJob, DirectLookupMatchJob, ExpireJob, ExpireLeasesJob, ExpireRoutersJob, ExploreJob, FloodfillMonitorJob, FloodfillNetworkDatabaseFacade.DropLookupFailedJob, FloodfillNetworkDatabaseFacade.DropLookupFoundJob, FloodfillNetworkDatabaseFacade.FloodFailedJob, FloodfillNetworkDatabaseFacade.FloodSuccessJob, FloodfillRouterInfoFloodJob, FloodfillStoreJob, FloodfillVerifyStoreJob, FloodfillVerifyStoreJob.VerifyReplyJob, FloodfillVerifyStoreJob.VerifyTimeoutJob, FloodOnlyLookupMatchJob, FloodOnlyLookupTimeoutJob, FloodOnlySearchJob, FloodSearchJob, HandleDatabaseLookupMessageJob, HandleFloodfillDatabaseLookupMessageJob, HandleFloodfillDatabaseStoreMessageJob, HandleGarlicMessageJob, InboundGatewayReceiver.ReceiveJob, InNetMessagePool.SharedShortCircuitDataJob, InNetMessagePool.SharedShortCircuitGatewayJob, IntroducerLookupJob, IterativeFollowupJob, IterativeLookupJob, IterativeSearchJob, IterativeTimeoutJob, JobImpl, JobQueue.PoisonJob, KademliaNetworkDatabaseFacade.BatchRepublishJob, KademliaNetworkDatabaseFacade.PurgeMatchingRoutersJob, KademliaNetworkDatabaseFacade.RefreshClientLeaseSetsJob, KeyManager.SynchronizeKeysJob, LoadClientAppsJob, LoadRouterInfoJob, LookupDestJob, LookupDestJob.DoneJob, MessageHistory.ReinitializeJob, MessageHistory.WriteJob, MessageReceivedJob, NetDbRenderer.LookupWaiter, OutboundClientMessageOneShotJob, OutboundClientMessageOneShotJob.DispatchJob, OutboundClientMessageOneShotJob.ECIESReplyCallback, OutboundClientMessageOneShotJob.LookupLeaseSetFailedJob, OutboundClientMessageOneShotJob.SendJob, OutboundClientMessageOneShotJob.SendSuccessJob, OutboundClientMessageOneShotJob.SendTimeoutJob, OutboundMessageDistributor.DistributeJob, OutboundReceiver.LookupFailedJob, OutboundReceiver.SendFailedJob, OutboundReceiver.SendJob, PeerTestJob, PeerTestJob.PeerReplyFoundJob, PeerTestJob.PeerReplyTimeoutJob, PersistentDataStore.ReadJob, PersistentDataStore.ReadRouterJob, PersistRouterInfoJob, ProbeStalePeerJob, PublishLocalRouterInfoJob, ReadConfigJob, RebuildRouterInfoJob, RefreshRoutersJob, ReportAbuseJob, RepublishLeaseSetJob, RepublishLeaseSetJob.OnRepublishFailure, RepublishLeaseSetJob.OnRepublishSuccess, RequestLeaseSetJob, RequestLeaseSetJob.CheckLeaseRequestStatus, SearchJob, SearchJob.FailedJob, SearchJob.RequeuePending, SearchReplyJob, SearchUpdateReplyFoundJob, SendMessageDirectJob, SingleLookupJob, SingleSearchJob, StartAcceptingClientsJob, StartExplorersJob, StartupJob, StoreJob, StoreJob.FailedJob, StoreJob.SendSuccessJob, StoreJob.WaitJob, TestJob, TestJob.OnTestReply, TestJob.OnTestTimeout, TestJob.PumpJob, TunnelDispatcher.LeaveTunnel, TunnelParticipant.Found, TunnelParticipant.SendJob, TunnelParticipant.TimeoutJob, TunnelPeerSelector.PreConnectFailJob, TunnelPoolManager.BootstrapPool, TunnelPoolManager.FastTierProbeJob, TunnelPoolManager.RefreshLeaseSetsJob, TunnelPoolManager.RemoveSlowTunnelsJob, UpdateRoutingKeyModifierJob, VMCommSystem.ReceiveJob

public interface Job
Interface for router-internal executable tasks. Defines job timing, execution, and failure handling for scheduled operations within the job queue system.

For use by the router only. Not to be used by applications or plugins.

  • Method Summary

    All Methods
    Modifier and Type
    Method
    Description
    void
    The router is extremely overloaded, so this job has been dropped.
    long
    Unique id for this job.
    Descriptive name of the task.
    Timing criteria for the task.
    void
    Actually perform the task.
  • Method Details

    • getName

      String getName()
      Descriptive name of the task.
      Returns:
      the descriptive name of the task
    • getJobId

      long getJobId()
      Unique id for this job.
      Returns:
      the unique job id
    • getTiming

      JobTiming getTiming()
      Timing criteria for the task.
      Returns:
      the job timing object
    • runJob

      void runJob()
      Actually perform the task. This call blocks until the Job is complete.
    • dropped

      void dropped()
      The router is extremely overloaded, so this job has been dropped. If for some reason the job *must* do some cleanup / requeueing of other tasks, it should do so here.