net.i2p.router.update
Class DevSU3UpdateChecker

java.lang.Object
  extended by java.lang.Thread
      extended by net.i2p.util.I2PThread
          extended by net.i2p.util.I2PAppThread
              extended by net.i2p.router.update.UpdateRunner
                  extended by net.i2p.router.update.DevSU3UpdateChecker
All Implemented Interfaces:
Runnable, UpdateTask, EepGet.StatusListener

 class DevSU3UpdateChecker
extends UpdateRunner

Check for an updated su3 version. Take the update URL then fetch the first 56 bytes of the URL, extract the version, and compare to current full router version.

Since:
0.9.20 from PluginUpdateChecker

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
DevSU3UpdateChecker(RouterContext ctx, ConsoleUpdateManager mgr, List<URI> uris)
           
 
Method Summary
 void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url)
          subclasses should override
 void transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified)
          subclasses should override
 void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
          subclasses should override
protected  void update()
          Loop through the entire list of update URLs.
 
Methods inherited from class net.i2p.router.update.UpdateRunner
_, _, attemptFailed, attempting, getID, 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, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, 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

DevSU3UpdateChecker

public DevSU3UpdateChecker(RouterContext ctx,
                           ConsoleUpdateManager mgr,
                           List<URI> uris)
Method Detail

update

protected void update()
Description copied from class: UpdateRunner
Loop 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:
update in class UpdateRunner

bytesTransferred

public void bytesTransferred(long alreadyTransferred,
                             int currentWrite,
                             long bytesTransferred,
                             long bytesRemaining,
                             String url)
Description copied from class: UpdateRunner
subclasses should override

Specified by:
bytesTransferred in interface EepGet.StatusListener
Overrides:
bytesTransferred in class UpdateRunner

transferComplete

public void transferComplete(long alreadyTransferred,
                             long bytesTransferred,
                             long bytesRemaining,
                             String url,
                             String outputFile,
                             boolean notModified)
Description copied from class: UpdateRunner
subclasses should override

Specified by:
transferComplete in interface EepGet.StatusListener
Overrides:
transferComplete in class UpdateRunner

transferFailed

public void transferFailed(String url,
                           long bytesTransferred,
                           long bytesRemaining,
                           int currentAttempt)
Description copied from class: UpdateRunner
subclasses should override

Specified by:
transferFailed in interface EepGet.StatusListener
Overrides:
transferFailed in class UpdateRunner