Package net.i2p.router.update
Class PluginUpdateChecker
- java.lang.Object
-
- java.lang.Thread
-
- net.i2p.util.I2PThread
-
- net.i2p.util.I2PAppThread
-
- net.i2p.router.update.UpdateRunner
-
- net.i2p.router.update.PluginUpdateChecker
-
- All Implemented Interfaces:
Runnable,UpdateTask,EepGet.StatusListener
class PluginUpdateChecker extends UpdateRunner
Check for an updated version of a plugin. A plugin is a standard .sud file with a 40-byte signature, a 16-byte version, and a .zip file. So we get the current version and update URL for the installed plugin, then fetch the first 56 bytes of the URL, extract the version, and compare. Moved from web/ and turned into an UpdateTask.- Since:
- 0.7.12
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.i2p.util.I2PThread
I2PThread.OOMEventListener
-
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
-
Field Summary
-
Fields inherited from class net.i2p.router.update.UpdateRunner
_baos, _context, _currentURI, _get, _isPartial, _isRunning, _log, _method, _mgr, _newVersion, _type, _updateFile, _urls, CONNECT_TIMEOUT, done, INACTIVITY_TIMEOUT, NOPROXY_INACTIVITY_TIMEOUT
-
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description PluginUpdateChecker(RouterContext ctx, ConsoleUpdateManager mgr, List<URI> uris, String appName, String oldVersion)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url)subclasses should overrideStringgetID()Valid for pluginsvoidtransferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified)subclasses should overridevoidtransferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)subclasses should overrideprotected voidupdate()Loop through the entire list of update URLs.-
Methods inherited from class net.i2p.router.update.UpdateRunner
_t, _t, attemptFailed, attempting, getMethod, getType, getURI, headerReceived, isRunning, linkify, run, shutdown, toString, updateStatus
-
Methods inherited from class net.i2p.util.I2PAppThread
addOOMEventThreadListener, fireOOM, removeOOMEventThreadListener
-
Methods inherited from class net.i2p.util.I2PThread
addOOMEventListener, removeOOMEventListener, start
-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, suspend, yield
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.i2p.update.UpdateTask
start
-
-
-
-
Constructor Detail
-
PluginUpdateChecker
public PluginUpdateChecker(RouterContext ctx, ConsoleUpdateManager mgr, List<URI> uris, String appName, String oldVersion)
-
-
Method Detail
-
getID
public String getID()
Description copied from interface:UpdateTaskValid for plugins- Specified by:
getIDin interfaceUpdateTask- Overrides:
getIDin classUpdateRunner
-
update
protected void update()
Description copied from class:UpdateRunnerLoop through the entire list of update URLs. For each one, first get the version from the first 56 bytes and see if it is newer than what we are running now. If it is, get the whole thing.- Overrides:
updatein classUpdateRunner
-
bytesTransferred
public void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url)Description copied from class:UpdateRunnersubclasses should override- Specified by:
bytesTransferredin interfaceEepGet.StatusListener- Overrides:
bytesTransferredin classUpdateRunner
-
transferComplete
public void transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified)Description copied from class:UpdateRunnersubclasses should override- Specified by:
transferCompletein interfaceEepGet.StatusListener- Overrides:
transferCompletein classUpdateRunner
-
transferFailed
public void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
Description copied from class:UpdateRunnersubclasses should override- Specified by:
transferFailedin interfaceEepGet.StatusListener- Overrides:
transferFailedin classUpdateRunner
-
-