net.i2p.router.update
Class NewsFetcher
java.lang.Object
java.lang.Thread
net.i2p.util.I2PThread
net.i2p.util.I2PAppThread
net.i2p.router.update.UpdateRunner
net.i2p.router.update.NewsFetcher
- All Implemented Interfaces:
- Runnable, UpdateTask, EepGet.StatusListener
class NewsFetcher
- extends UpdateRunner
Task to fetch updates to the news.xml, and to keep
track of whether that has an announcement for a new version.
- Since:
- 0.9.4 moved from NewsFetcher and make an Updater
Fields inherited from class net.i2p.router.update.UpdateRunner |
_context, _currentURI, _get, _isPartial, _isRunning, _log, _mgr, _newVersion, _updateFile, _urls, CONNECT_TIMEOUT, done, INACTIVITY_TIMEOUT, NOPROXY_INACTIVITY_TIMEOUT |
Method Summary |
void |
bytesTransferred(long alreadyTransferred,
int currentWrite,
long bytesTransferred,
long bytesRemaining,
String url)
override to prevent status update |
(package private) void |
checkForUpdates()
Parse the installed (not the temp) news file for the latest version. |
void |
fetchNews()
|
UpdateType |
getType()
|
void |
run()
private void log(int level, String msg) { log(level, msg, null); }
private void log(int level, String msg, Throwable t) {
// we cant assume log is created
if (_log == null) _log = new Log(I2PThread.class);
if (_log.shouldLog(level))
_log.log(level, msg, t);
} |
void |
transferComplete(long alreadyTransferred,
long bytesTransferred,
long bytesRemaining,
String url,
String outputFile,
boolean notModified)
Copies the file from temp dir to the news location,
calls checkForUpdates() |
void |
transferFailed(String url,
long bytesTransferred,
long bytesRemaining,
int currentAttempt)
override to prevent status update |
Methods inherited from class net.i2p.router.update.UpdateRunner |
_, _, attemptFailed, attempting, getID, getMethod, getURI, headerReceived, isRunning, linkify, shutdown, toString, update, updateStatus |
Methods inherited from class java.lang.Thread |
activeCount, checkAccess, 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, start, stop, stop, suspend, yield |
NewsFetcher
public NewsFetcher(RouterContext ctx,
ConsoleUpdateManager mgr,
List<URI> uris)
getType
public UpdateType getType()
- Specified by:
getType
in interface UpdateTask
- Overrides:
getType
in class UpdateRunner
run
public void run()
- Description copied from class:
I2PThread
- private void log(int level, String msg) { log(level, msg, null); }
private void log(int level, String msg, Throwable t) {
// we cant assume log is created
if (_log == null) _log = new Log(I2PThread.class);
if (_log.shouldLog(level))
_log.log(level, msg, t);
}
- Specified by:
run
in interface Runnable
- Overrides:
run
in class UpdateRunner
fetchNews
public void fetchNews()
checkForUpdates
void checkForUpdates()
- Parse the installed (not the temp) news file for the latest version.
TODO: Real XML parsing
TODO: Check minVersion, use backup URLs specified
bytesTransferred
public void bytesTransferred(long alreadyTransferred,
int currentWrite,
long bytesTransferred,
long bytesRemaining,
String url)
- override to prevent status update
- 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)
- Copies the file from temp dir to the news location,
calls checkForUpdates()
- Specified by:
transferComplete
in interface EepGet.StatusListener
- Overrides:
transferComplete
in class UpdateRunner
transferFailed
public void transferFailed(String url,
long bytesTransferred,
long bytesRemaining,
int currentAttempt)
- override to prevent status update
- Specified by:
transferFailed
in interface EepGet.StatusListener
- Overrides:
transferFailed
in class UpdateRunner