java.lang.Object
com.github.mizosoft.methanol.ProgressTracker
A progress tracker for upload and download operations.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
A builder ofProgressTrackers
.static interface
A listener ofprogress events
.static interface
static interface
A progress event for a multipart body with per-part progress info.static interface
A progress event. -
Method Summary
Modifier and TypeMethodDescriptionlong
Returns the minimum number of bytes to be transferred for a progress event to be signalled.static ProgressTracker
create()
Returns a defaultProgressTracker
with no thresholds or executor.boolean
Returns whether the sequence of progress events is enclosed between0%
and100%
progress events.executor()
Returns the optional executor on whichProgressTracker.Listener
methods are called.static ProgressTracker.Builder
Returns a newProgressTracker.Builder
.Returns the minimum time to pass for a progress event to be signalled.tracking
(HttpRequest.BodyPublisher upstream, ProgressTracker.Listener listener) Returns aBodyPublisher
that tracks the givenBodyPublisher
's upload progress.<T> HttpResponse.BodyHandler
<T> tracking
(HttpResponse.BodyHandler<T> handler, ProgressTracker.Listener listener) Returns aBodyHandler
that tracks the download progress of theBodySubscriber
returned by the given handler.<T> HttpResponse.BodySubscriber
<T> tracking
(HttpResponse.BodySubscriber<T> downstream, ProgressTracker.Listener listener, long contentLengthIfKnown) Returns aBodySubscriber
that tracks the givenBodySubscriber
's download progress.trackingMultipart
(MultipartBodyPublisher upstream, ProgressTracker.MultipartListener listener) Returns aBodyPublisher
that tracks the givenMultipartBodyPublisher
's upload progress with per-part progress events.
-
Method Details
-
bytesTransferredThreshold
public long bytesTransferredThreshold()Returns the minimum number of bytes to be transferred for a progress event to be signalled. -
timePassedThreshold
Returns the minimum time to pass for a progress event to be signalled. -
enclosedProgress
public boolean enclosedProgress()Returns whether the sequence of progress events is enclosed between0%
and100%
progress events. -
executor
Returns the optional executor on whichProgressTracker.Listener
methods are called. -
tracking
public HttpRequest.BodyPublisher tracking(HttpRequest.BodyPublisher upstream, ProgressTracker.Listener listener) Returns aBodyPublisher
that tracks the givenBodyPublisher
's upload progress. -
trackingMultipart
public MimeBodyPublisher trackingMultipart(MultipartBodyPublisher upstream, ProgressTracker.MultipartListener listener) Returns aBodyPublisher
that tracks the givenMultipartBodyPublisher
's upload progress with per-part progress events. -
tracking
public <T> HttpResponse.BodySubscriber<T> tracking(HttpResponse.BodySubscriber<T> downstream, ProgressTracker.Listener listener, long contentLengthIfKnown) Returns aBodySubscriber
that tracks the givenBodySubscriber
's download progress.contentLengthIfKnown
is the total length of downloaded content or a negative value if unknown. -
tracking
public <T> HttpResponse.BodyHandler<T> tracking(HttpResponse.BodyHandler<T> handler, ProgressTracker.Listener listener) Returns aBodyHandler
that tracks the download progress of theBodySubscriber
returned by the given handler. -
create
Returns a defaultProgressTracker
with no thresholds or executor. -
newBuilder
Returns a newProgressTracker.Builder
.
-