class PluginUpdateRunner extends UpdateRunner
I2PThread.OOMEventListenerThread.State, Thread.UncaughtExceptionHandler| Modifier and Type | Field and Description |
|---|---|
static String |
PLUGIN_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()
Valid for plugins
|
URI |
getURI()
The current URI being checked or downloaded from.
|
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.
|
_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)
public 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 lengthpublic String getID()
UpdateTaskgetID in interface UpdateTaskgetID in class UpdateRunnerpublic URI getURI()
UpdateTaskgetURI in interface UpdateTaskgetURI in class UpdateRunnerpublic void transferComplete(long alreadyTransferred,
long bytesTransferred,
long bytesRemaining,
String url,
String outputFile,
boolean notModified)
UpdateRunnertransferComplete in interface EepGet.StatusListenertransferComplete in class UpdateRunneroutputFile - null if unknown (output stream constructor)EepGet.StatusListener.bytesTransferred(long, int, long, long, java.lang.String)public void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
UpdateRunnertransferFailed in interface EepGet.StatusListenertransferFailed in class UpdateRunnerEepGet.StatusListener.bytesTransferred(long, int, long, long, java.lang.String)protected void update()
UpdateRunnerupdate in class UpdateRunner