class PluginUpdateRunner extends UpdateRunner
I2PThread.OOMEventListenerThread.State, Thread.UncaughtExceptionHandler| Modifier and Type | Field and Description |
|---|---|
static String | PLUGIN_DIRPLUGIN_DIR. |
_baos, _context, _currentURI, _get, _isPartial, _isRunning, _log, _method, _mgr, _newVersion, _type, _updateFile, _urls, CONNECT_TIMEOUT, done, INACTIVITY_TIMEOUT, NOPROXY_INACTIVITY_TIMEOUTMAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY| Constructor and Description |
|---|
PluginUpdateRunner(RouterContext ctx,
ConsoleUpdateManager mgr,
List<URI> uris,
String appName,
String oldVersion) |
| Modifier and Type | Method and Description |
|---|---|
void | bytesTransferred(long alreadyTransferred,
int currentWrite,
long bytesTransferred,
long bytesRemaining,
String url)Overridden to change the "Updating I2P" text in super |
String | getID()I d. |
URI | getURI()U r i. |
void | transferComplete(long alreadyTransferred,
long bytesTransferred,
long bytesRemaining,
String url,
String outputFile,
boolean notModified)Handle completion of plugin download. |
void | transferFailed(String url,
long bytesTransferred,
long bytesRemaining,
int currentAttempt)transferFailed. |
protected void | update()update. |
_t, _t, attemptFailed, attempting, getMethod, getType, headerReceived, isRunning, linkify, run, shutdown, toString, updateStatusaddOOMEventThreadListener, fireOOM, removeOOMEventThreadListeneraddOOMEventListener, removeOOMEventListener, startactiveCount, 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, yieldequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitstartpublic static final String PLUGIN_DIR
public PluginUpdateRunner(RouterContext ctx, ConsoleUpdateManager mgr, List<URI> uris, String appName, String oldVersion)
ctx - the router contextmgr - the update manageruris - update source URIsappName - the plugin nameoldVersion - current installed versionpublic void bytesTransferred(long alreadyTransferred,
int currentWrite,
long bytesTransferred,
long bytesRemaining,
String url)bytesTransferred in interface EepGet.StatusListenerbytesTransferred in class UpdateRunneralreadyTransferred - total of all attempts, not including currentWrite
If nonzero on the first call, a partial file of that length was found,
_and_ the server supports resume.
If zero on a subsequent call after some bytes are transferred
(and presumably after an attemptFailed), the server does _not_
support resume and we had to start over.
To track _actual_ transfer if the output file could already exist,
the listener should keep its own counter,
or subtract the initial alreadyTransferred value.
And watch out for alreadyTransferred resetting if a resume failed...currentWrite - since last call to the listenerbytesTransferred - includes headers, retries, redirects, discarded partial downloads, ...bytesRemaining - on this attempt only, currentWrite already subtracted -
or -1 if chunked encoding or server does not return a lengthurl - the URL being fetchedpublic String getID()
UpdateRunnergetID in interface UpdateTaskgetID in class UpdateRunnerpublic URI getURI()
UpdateRunnergetURI in interface UpdateTaskgetURI in class UpdateRunnerpublic void transferComplete(long alreadyTransferred,
long bytesTransferred,
long bytesRemaining,
String url,
String outputFile,
boolean notModified)transferComplete in interface EepGet.StatusListenertransferComplete in class UpdateRunneralreadyTransferred - total bytes transferredbytesTransferred - total incl headersbytesRemaining - remaining bytesurl - the URLoutputFile - null if unknown (output stream constructor)notModified - whether 304EepGet.StatusListener.bytesTransferred(long, int, long, long, java.lang.String)public void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
transferFailed in interface EepGet.StatusListenertransferFailed in class UpdateRunnerurl - the URLbytesTransferred - total transferredbytesRemaining - remainingcurrentAttempt - attempt indexEepGet.StatusListener.bytesTransferred(long, int, long, long, java.lang.String)protected void update()
update in class UpdateRunner