net.i2p.util
Interface EepGet.StatusListener
- All Known Implementing Classes:
- EepGet.CLIStatusListener, FetchAndAdd, NewsFetcher, PluginUpdateChecker, PluginUpdateRunner, UnsignedUpdateChecker, UnsignedUpdateRunner, 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)
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)
|
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)
- 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)