- All Known Implementing Classes:
DevSU3UpdateChecker, DevSU3UpdateRunner, DNSOverHTTPS, DummyHandler.DummyRunner, EepGet.CLIStatusListener, FetchAndAdd, NewsFetcher, PluginUpdateChecker, PluginUpdateRunner, Reseeder.ReseedRunner, UnsignedUpdateChecker, UnsignedUpdateRunner, UpdateRunner, WebPeer
- Enclosing class:
EepGet
public static interface EepGet.StatusListener
Callback interface for monitoring EepGet transfer progress.
Method Summary
All MethodsModifier and TypeMethodDescriptionvoidattemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause) Attempt failed notification.voidattempting(String url) Called when a new attempt to fetch the URL is starting.voidbytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url) Total length should be == alreadyTransferred + currentWrite + bytesRemaining for all calls.voidheaderReceived(String url, int currentAttempt, String key, String val) Note: Headers are not processed, and this is not called, for most error response codes, unlessEepGet.setWriteErrorToOutput()is called before fetch().voidtransferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified) Transfer complete notification.voidtransferFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt) Transfer failed notification.
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 listenerbytesTransferred- 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 lengthurl- the URL being fetched
transferComplete
void transferComplete(long alreadyTransferred, long bytesTransferred, long bytesRemaining, String url, String outputFile, boolean notModified) Transfer complete notification.- Parameters:
alreadyTransferred- total bytes transferredbytesTransferred- total incl headersbytesRemaining- bytes still owed by the server, or -1 if chunked encoding or no Content-Length was returnedurl- the address the transfer was readingoutputFile- null if unknown (output stream constructor)notModified- whether 304- See Also:
attemptFailed
void attemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause) Attempt failed notification.- Parameters:
url- the address whose fetch attempt failedbytesTransferred- bytes received so far, counted across every attempt and including response headersbytesRemaining- bytes still owed, or -1 if unknowncurrentAttempt- zero-based index of the attempt that failednumRetries- total attempts this fetch is allowedcause- the exception that ended the attempt- See Also:
transferFailed
Transfer failed notification.- Parameters:
url- the address whose transfer failedbytesTransferred- bytes received so far, counted across every attempt and including response headersbytesRemaining- bytes still owed, or -1 if unknowncurrentAttempt- zero-based index of the attempt that failed- See Also:
headerReceived
Note: Headers are not processed, and this is not called, for most error response codes, unlessEepGet.setWriteErrorToOutput()is called before fetch(). To be changed?- Parameters:
url- the address the header arrived oncurrentAttempt- zero-based index of the attempt the header arrived onkey- header keyval- header value
attempting
Called when a new attempt to fetch the URL is starting.- Parameters:
url- the URL being attempted