## net.i2p.util
Interface EepGet.StatusListener

All Known Implementing Classes:
  EepGet.CLIStatusListener, EepGetScheduler, NewsFetcher, PluginUpdateChecker.PluginUpdateCheckerRunner, PluginUpdateHandler.PluginUpdateRunner, Reseeder.ReseedRunner, UnsignedUpdateHandler.UnsignedUpdateRunner, UpdateHandler.UpdateRunner

Enclosing class:
  EepGet

    public static interface EepGet.StatusListener

Method Summary
`void` `attemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause)`
`void` `attempting(String url)`
`void` `bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, 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` `headerReceived(String url, int currentAttempt, String key, String val)`
`void` `transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified)`
`void` `transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)`

Method Detail

### bytesTransferred

    void bytesTransferred(long alreadyTransferred,
                          int currentWrite,
                          long bytesTransferred,
                          long bytesRemaining,
                          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. 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

### transferComplete

    void transferComplete(long alreadyTransferred,
                          long bytesTransferred,
                          long bytesRemaining,
                          String url,
                          String outputFile,
                          boolean notModified)

### attemptFailed

    void attemptFailed(String url,
                       long bytesTransferred,
                       long bytesRemaining,
                       int currentAttempt,
                       int numRetries,
                       Exception cause)

### transferFailed

    void transferFailed(String url,
                        long bytesTransferred,
                        long bytesRemaining,
                        int currentAttempt)

### headerReceived

    void headerReceived(String url,
                        int currentAttempt,
                        String key,
                        String val)

### attempting

    void attempting(String url)