Package org.eclipse.jetty.http3.internal
Class MessageFlusher
java.lang.Object
org.eclipse.jetty.util.IteratingCallback
org.eclipse.jetty.http3.internal.MessageFlusher
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.eclipse.jetty.util.IteratingCallback
IteratingCallback.Action
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback
Callback.Completable, Callback.Completing, Callback.Nested
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable
Invocable.InvocationType, Invocable.ReadyTask, Invocable.Task
-
Field Summary
Fields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking
-
Constructor Summary
ConstructorsConstructorDescriptionMessageFlusher
(ByteBufferPool byteBufferPool, QpackEncoder encoder, int maxHeadersLength, boolean useDirectByteBuffers) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Method to invoke when the asynchronous sub-task fails, or to fail the overall asynchronous task and therefore terminate the iteration.boolean
offer
(QuicStreamEndPoint endPoint, Frame frame, Callback callback) protected IteratingCallback.Action
process()
Method called byIteratingCallback.iterate()
to process the asynchronous sub-task.void
Method to invoke when the asynchronous sub-task succeeds.Methods inherited from class org.eclipse.jetty.util.IteratingCallback
close, isClosed, isFailed, isSucceeded, iterate, onCompleteFailure, onCompleteSuccess, reset, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.Callback
completeWith
-
Constructor Details
-
MessageFlusher
public MessageFlusher(ByteBufferPool byteBufferPool, QpackEncoder encoder, int maxHeadersLength, boolean useDirectByteBuffers)
-
-
Method Details
-
offer
-
process
Description copied from class:IteratingCallback
Method called byIteratingCallback.iterate()
to process the asynchronous sub-task.Implementations must initiate the asynchronous execution of the sub-task (if any) and return an appropriate action:
IteratingCallback.Action.IDLE
when no sub tasks are available for execution but the overall job is not completed yetIteratingCallback.Action.SCHEDULED
when the sub task asynchronous execution has been startedIteratingCallback.Action.SUCCEEDED
when the overall job is completed
- Specified by:
process
in classIteratingCallback
- Returns:
- the appropriate Action
-
succeeded
public void succeeded()Description copied from class:IteratingCallback
Method to invoke when the asynchronous sub-task succeeds.Subclasses that override this method must always remember to call
super.succeeded()
.- Specified by:
succeeded
in interfaceCallback
- Overrides:
succeeded
in classIteratingCallback
- See Also:
-
failed
Description copied from class:IteratingCallback
Method to invoke when the asynchronous sub-task fails, or to fail the overall asynchronous task and therefore terminate the iteration.Subclasses that override this method must always remember to call
super.failed(Throwable)
.Eventually,
IteratingCallback.onCompleteFailure(Throwable)
is called, either by the caller thread or by the processing thread.- Specified by:
failed
in interfaceCallback
- Overrides:
failed
in classIteratingCallback
- Parameters:
x
- the reason for the operation failure- See Also:
-
getInvocationType
- Returns:
- The InvocationType of this object
-