## Uses of Interface
net.i2p.update.UpdateTask

- Packages that use UpdateTask
  Package | Description
  --- | ---
  net.i2p.router.update | Classes to implement the router update process for checking and applying I2P router updates from the update manager.
  net.i2p.update | Interfaces and utilities for update process that operate without requiring full router context.
  org.klomp.snark | I2P version of the snark bittorrent client, imported in 2005 and heavily enhanced to add a web UI, DHT support, and other features.

- - ### Uses of UpdateTask in net.i2p.router.update

    Classes in net.i2p.router.update that implement UpdateTask
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `DevSU3UpdateChecker` Check for an updated su3 version.
    `(package private) class` | `DevSU3UpdateRunner` Eepget the .su3 file to the temp dir, then notify.
    `(package private) class` | `NewsFetcher` Task to fetch updates to the news.xml, and to keep track of whether that has an announcement for a new version.
    `(package private) class` | `PluginUpdateChecker` Check for an updated version of a plugin.
    `(package private) class` | `PluginUpdateRunner` Check for an updated version of a plugin.
    `(package private) class` | `UnsignedUpdateChecker` Does a simple EepHead to get the last-modified header.
    `(package private) class` | `UnsignedUpdateRunner` Eepget the .zip file to the temp dir, then notify.r Moved from UnsignedUpdateHandler and turned into an UpdateTask.

    Methods in net.i2p.router.update that return UpdateTask
    Modifier and Type | Method and Description
    --- | ---
    `UpdateTask` | PluginUpdateHandler.`check(UpdateType type, UpdateMethod method, String appName, String currentVersion, long maxTime)` check a single plugin
    `UpdateTask` | DummyHandler.`check(UpdateType type, UpdateMethod method, String id, String currentVersion, long maxTime)` Spins off an UpdateTask that sleeps
    `UpdateTask` | NewsHandler.`check(UpdateType type, UpdateMethod method, String id, String currentVersion, long maxTime)` This will check for news or router updates (it does the same thing).
    `UpdateTask` | DevSU3UpdateHandler.`check(UpdateType type, UpdateMethod method, String id, String currentVersion, long maxTime)`
    `UpdateTask` | UnsignedUpdateHandler.`check(UpdateType type, UpdateMethod method, String id, String currentVersion, long maxTime)`
    `UpdateTask` | PluginUpdateHandler.`update(UpdateType type, UpdateMethod method, List<URI> updateSources, String appName, String newVersion, long maxTime)` download a single plugin
    `UpdateTask` | DummyHandler.`update(UpdateType type, UpdateMethod method, List<URI> updateSources, String id, String newVersion, long maxTime)` Spins off an UpdateTask that sleeps
    `UpdateTask` | UpdateHandler.`update(UpdateType type, UpdateMethod method, List<URI> updateSources, String id, String newVersion, long maxTime)` Start a download and return a handle to the download task.
    `UpdateTask` | DevSU3UpdateHandler.`update(UpdateType type, UpdateMethod method, List<URI> updateSources, String id, String newVersion, long maxTime)` Start a download and return a handle to the download task.
    `UpdateTask` | UnsignedUpdateHandler.`update(UpdateType type, UpdateMethod method, List<URI> updateSources, String id, String newVersion, long maxTime)` Start a download and return a handle to the download task.

    Methods in net.i2p.router.update with parameters of type UpdateTask
    Modifier and Type | Method and Description
    --- | ---
    `void` | ConsoleUpdateManager.`notifyAttemptFailed(UpdateTask task, String reason, Throwable t)` Not necessarily the end if there are more URIs to try.
    `void` | ConsoleUpdateManager.`notifyCheckComplete(UpdateTask task, boolean newer, boolean success)` Called by the Updater after check() was called and all notifyVersionAvailable() callbacks are finished
    `void` | ConsoleUpdateManager.`notifyComplete(UpdateTask task, String status)` An expiring status
    `boolean` | ConsoleUpdateManager.`notifyComplete(UpdateTask task, String actualVersion, File file)` An update has been downloaded but not verified.
    `void` | ConsoleUpdateManager.`notifyProgress(UpdateTask task, String status)`
    `void` | ConsoleUpdateManager.`notifyProgress(UpdateTask task, String status, long downloaded, long totalSize)`
    `void` | ConsoleUpdateManager.`notifyTaskFailed(UpdateTask task, String reason, Throwable t)` The task has finished and failed.
    `boolean` | ConsoleUpdateManager.`notifyVersionAvailable(UpdateTask task, URI newsSource, UpdateType type, String id, Map<UpdateMethod,List<URI>> sourceMap, String newVersion, String minVersion)` Called by the Checker, either after check() was called, or it found out on its own.
    `boolean` | ConsoleUpdateManager.`notifyVersionAvailable(UpdateTask task, URI newsSource, UpdateType type, String id, UpdateMethod method, List<URI> updateSources, String newVersion, String minVersion)` Called by the Updater, either after check() was called, or it found out on its own.
    `void` | ConsoleUpdateManager.`notifyVersionConstraint(UpdateTask task, URI newsSource, UpdateType type, String id, String newVersion, String message)` A new version is available but cannot be downloaded or installed due to some constraint.

  - ### Uses of UpdateTask in net.i2p.update

    Methods in net.i2p.update that return UpdateTask
    Modifier and Type | Method and Description
    --- | ---
    `UpdateTask` | Checker.`check(UpdateType type, UpdateMethod method, String id, String currentVersion, long maxTime)` Check for updates.
    `UpdateTask` | Updater.`update(UpdateType type, UpdateMethod method, List<URI> updateSources, String id, String newVersion, long maxTime)` Start a download and return a handle to the download task.

    Methods in net.i2p.update with parameters of type UpdateTask
    Modifier and Type | Method and Description
    --- | ---
    `void` | UpdateManager.`notifyAttemptFailed(UpdateTask task, String reason, Throwable t)` Not necessarily the end if there are more URIs to try.
    `void` | UpdateManager.`notifyCheckComplete(UpdateTask task, boolean newer, boolean success)` Called by the Checker after check() was called and all notifyVersionAvailable() callbacks are finished
    `boolean` | UpdateManager.`notifyComplete(UpdateTask task, String actualVersion, File file)` An update has been downloaded but not verified.
    `void` | UpdateManager.`notifyProgress(UpdateTask task, String status)` Notify of progress update.
    `void` | UpdateManager.`notifyProgress(UpdateTask task, String status, long downloaded, long totalSize)` Notify of progress update with size information.
    `void` | UpdateManager.`notifyTaskFailed(UpdateTask task, String reason, Throwable t)` The task has finished and failed.
    `boolean` | UpdateManager.`notifyVersionAvailable(UpdateTask task, URI newsSource, UpdateType type, String id, Map<UpdateMethod,List<URI>> sourceMap, String newVersion, String minVersion)` Called by the Checker, either after check() was called, or it found out on its own.
    `boolean` | UpdateManager.`notifyVersionAvailable(UpdateTask task, URI newsSource, UpdateType type, String id, UpdateMethod method, List<URI> updateSources, String newVersion, String minVersion)` Called by the Checker, either after check() was called, or it found out on its own.
    `void` | UpdateManager.`notifyVersionConstraint(UpdateTask task, URI newsSource, UpdateType type, String id, String newVersion, String message)` A new version is available but cannot be downloaded or installed due to some constraint.

  - ### Uses of UpdateTask in org.klomp.snark

    Classes in org.klomp.snark that implement UpdateTask
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `UpdateRunner` The downloader for router signed updates.

    Methods in org.klomp.snark that return UpdateTask
    Modifier and Type | Method and Description
    --- | ---
    `UpdateTask` | UpdateHandler.`update(UpdateType type, UpdateMethod method, List<URI> updateSources, String id, String newVersion, long maxTime)` Start a download and return a handle to the download task.