Package 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
-
-
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 Modifier and Type Field Description (package private) static StringPROP_BLOCKLIST_TIME-
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 NewsFetcher(RouterContext ctx, ConsoleUpdateManager mgr, List<URI> uris)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url)override to prevent status update(package private) voidcheckForUpdates()Parse the installed (not the temp) news file for the latest version.voidfetchNews()voidheaderReceived(String url, int attemptNum, String key, String val)Overriden to get the last-modified headervoidrun()voidtransferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified)Copies the file from temp dir to the news location, calls checkForUpdates()voidtransferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)override to prevent status update-
Methods inherited from class net.i2p.router.update.UpdateRunner
_t, _t, attemptFailed, attempting, getID, getMethod, getType, getURI, isRunning, linkify, shutdown, toString, update, 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
-
-
-
-
Field Detail
-
PROP_BLOCKLIST_TIME
static final String PROP_BLOCKLIST_TIME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NewsFetcher
public NewsFetcher(RouterContext ctx, ConsoleUpdateManager mgr, List<URI> uris)
-
-
Method Detail
-
run
public void run()
- Specified by:
runin interfaceRunnable- Overrides:
runin classUpdateRunner
-
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 TODO: SU3
-
bytesTransferred
public void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url)override to prevent status update- Specified by:
bytesTransferredin interfaceEepGet.StatusListener- Overrides:
bytesTransferredin classUpdateRunner
-
headerReceived
public void headerReceived(String url, int attemptNum, String key, String val)
Overriden to get the last-modified header- Specified by:
headerReceivedin interfaceEepGet.StatusListener- Overrides:
headerReceivedin classUpdateRunner
-
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:
transferCompletein interfaceEepGet.StatusListener- Overrides:
transferCompletein classUpdateRunner
-
transferFailed
public void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
override to prevent status update- Specified by:
transferFailedin interfaceEepGet.StatusListener- Overrides:
transferFailedin classUpdateRunner
-
-