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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)