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 attempting​(String url)  
    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:
      bytesTransferred(long, int, long, long, java.lang.String)
    • attemptFailed

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

      void transferFailed​(String url, long bytesTransferred, long bytesRemaining, int currentAttempt)
      See Also:
      bytesTransferred(long, int, long, long, java.lang.String)
    • 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)