net.i2p.router.web
Class PluginUpdateHandler.PluginUpdateRunner

java.lang.Object
  extended by net.i2p.router.web.UpdateHandler.UpdateRunner
      extended by net.i2p.router.web.PluginUpdateHandler.PluginUpdateRunner
All Implemented Interfaces:
java.lang.Runnable, EepGet.StatusListener
Enclosing class:
PluginUpdateHandler

public class PluginUpdateHandler.PluginUpdateRunner
extends UpdateHandler.UpdateRunner
implements java.lang.Runnable, EepGet.StatusListener


Field Summary
 
Fields inherited from class net.i2p.router.web.UpdateHandler.UpdateRunner
_get, _isRunning, _pct, done
 
Constructor Summary
PluginUpdateHandler.PluginUpdateRunner(java.lang.String url)
           
 
Method Summary
 void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, java.lang.String url)
          alreadyTransferred - 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.
 void transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, java.lang.String url, java.lang.String outputFile, boolean notModified)
           
 void transferFailed(java.lang.String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
           
protected  void update()
           
 
Methods inherited from class net.i2p.router.web.UpdateHandler.UpdateRunner
attemptFailed, attempting, headerReceived, isDone, isRunning, run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.lang.Runnable
run
 
Methods inherited from interface net.i2p.util.EepGet.StatusListener
attemptFailed, attempting, headerReceived
 

Constructor Detail

PluginUpdateHandler.PluginUpdateRunner

public PluginUpdateHandler.PluginUpdateRunner(java.lang.String url)
Method Detail

update

protected void update()
Overrides:
update in class UpdateHandler.UpdateRunner

bytesTransferred

public void bytesTransferred(long alreadyTransferred,
                             int currentWrite,
                             long bytesTransferred,
                             long bytesRemaining,
                             java.lang.String url)
Description copied from interface: EepGet.StatusListener
alreadyTransferred - 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 listener bytesTransferred - 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 length Total length should be == alreadyTransferred + currentWrite + bytesRemaining for all calls

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

transferComplete

public void transferComplete(long alreadyTransferred,
                             long bytesTransferred,
                             long bytesRemaining,
                             java.lang.String url,
                             java.lang.String outputFile,
                             boolean notModified)
Specified by:
transferComplete in interface EepGet.StatusListener
Overrides:
transferComplete in class UpdateHandler.UpdateRunner

transferFailed

public void transferFailed(java.lang.String url,
                           long bytesTransferred,
                           long bytesRemaining,
                           int currentAttempt)
Specified by:
transferFailed in interface EepGet.StatusListener
Overrides:
transferFailed in class UpdateHandler.UpdateRunner