Package net.i2p.util

Interface EepGet.StatusListener

All Known Implementing Classes:
DevSU3UpdateChecker, DevSU3UpdateRunner, DNSOverHTTPS, EepGet.CLIStatusListener, FetchAndAdd, NewsFetcher, PluginUpdateChecker, PluginUpdateRunner, UnsignedUpdateChecker, UnsignedUpdateRunner, UpdateRunner, WebPeer
Enclosing class:
EepGet

public static interface EepGet.StatusListener
Callback interface
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    attemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause)
     
    void
     
    void
    bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url)
    Total length should be == alreadyTransferred + currentWrite + bytesRemaining for all calls
    void
    headerReceived(String url, int currentAttempt, String key, String val)
    Note: Headers are not processed, and this is not called, for most error response codes, unless setWriteErrorToOutput() is called before fetch().
    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 Details

    • bytesTransferred

      void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url)
      Total length should be == alreadyTransferred + currentWrite + bytesRemaining for all calls
      Parameters:
      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
    • transferComplete

      void transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified)
      Parameters:
      outputFile - null if unknown (output stream constructor)
      See Also:
    • attemptFailed

      void attemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause)
      See Also:
    • transferFailed

      void transferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
      See Also:
    • headerReceived

      void headerReceived(String url, int currentAttempt, String key, String val)
      Note: Headers are not processed, and this is not called, for most error response codes, unless setWriteErrorToOutput() is called before fetch(). To be changed?
    • attempting

      void attempting(String url)