Top Inners Fields Constructors Methods
org.eclipse.jetty.http3

public Class ControlFlusher

extends IteratingCallback
Class Inheritance
Imports
java.nio.ByteBuffer, java.util.ArrayDeque, .ArrayList, .List, .Queue, org.eclipse.jetty.http3.frames.Frame, org.eclipse.jetty.http3.generator.ControlGenerator, org.eclipse.jetty.http3.internal.ControlStreamConnection, .VarLenInt, org.eclipse.jetty.io.ByteBufferPool, .RetainableByteBuffer, org.eclipse.jetty.quic.common.QuicSession, .QuicStreamEndPoint, org.eclipse.jetty.util.Callback, .IteratingCallback, org.eclipse.jetty.util.thread.AutoLock, .Invocable, org.slf4j.Logger, .LoggerFactory

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static record

Field Summary

Modifier and TypeField and Description
private final ByteBufferPool.Accumulator
private final QuicStreamEndPoint
private List<ControlFlusher.Entry>
private final ControlGenerator
private boolean
private Invocable.InvocationType
private final AutoLock
private static final Logger
private final Queue<ControlFlusher.Entry>
private Throwable

Constructor Summary

AccessConstructor and Description
public
ControlFlusher(QuicSession session, QuicStreamEndPoint endPoint, boolean useDirectByteBuffers)

Method Summary

Modifier and TypeMethod and Description
public Invocable.InvocationType
public boolean
offer(Frame frame, Callback callback)

protected void
onCompleteFailure(Throwable failure)

Overrides org.eclipse.jetty.util.IteratingCallback.onCompleteFailure.

Invoked when the overall task has completed with a failure.

protected IteratingCallback.Action
process()

Implements abstract org.eclipse.jetty.util.IteratingCallback.process.

Method called by iterate() to process the asynchronous sub-task.

public void
succeeded()

Overrides org.eclipse.jetty.util.IteratingCallback.succeeded.

Overrides default org.eclipse.jetty.util.Callback.succeeded.

Method to invoke when the asynchronous sub-task succeeds.

public String
toString()

Overrides org.eclipse.jetty.util.IteratingCallback.toString.

Returns a string representation of the object.

Inherited from org.eclipse.jetty.util.IteratingCallback:
abortclosefailedisAbortedisClosedisFailedisSucceedediterateonCompleteSuccessreset

Field Detail

accumulatorback to summary
private final ByteBufferPool.Accumulator accumulator
endPointback to summary
private final QuicStreamEndPoint endPoint
entriesback to summary
private List<ControlFlusher.Entry> entries
generatorback to summary
private final ControlGenerator generator
initializedback to summary
private boolean initialized
invocationTypeback to summary
private Invocable.InvocationType invocationType
lockback to summary
private final AutoLock lock
LOGback to summary
private static final Logger LOG
queueback to summary
private final Queue<ControlFlusher.Entry> queue
terminatedback to summary
private Throwable terminated

Constructor Detail

ControlFlusherback to summary
public ControlFlusher(QuicSession session, QuicStreamEndPoint endPoint, boolean useDirectByteBuffers)

Method Detail

getInvocationTypeback to summary
public Invocable.InvocationType getInvocationType()

Overrides default org.eclipse.jetty.util.thread.Invocable.getInvocationType.

Annotations
@Override
offerback to summary
public boolean offer(Frame frame, Callback callback)
onCompleteFailureback to summary
protected void onCompleteFailure(Throwable failure)

Overrides org.eclipse.jetty.util.IteratingCallback.onCompleteFailure.

Doc from org.eclipse.jetty.util.IteratingCallback.onCompleteFailure.

Invoked when the overall task has completed with a failure.

Annotations
@Override
processback to summary
protected IteratingCallback.Action process()

Implements abstract org.eclipse.jetty.util.IteratingCallback.process.

Doc from org.eclipse.jetty.util.IteratingCallback.process.

Method called by iterate() to process the asynchronous sub-task.

Implementations must initiate the asynchronous execution of the sub-task (if any) and return an appropriate action:

  • Action#IDLE when no sub tasks are available for execution but the overall job is not completed yet
  • Action#SCHEDULED when the sub task asynchronous execution has been started
  • Action#SUCCEEDED when the overall job is completed
Annotations
@Override
succeededback to summary
public void succeeded()

Overrides org.eclipse.jetty.util.IteratingCallback.succeeded.

Overrides default org.eclipse.jetty.util.Callback.succeeded.

Doc from org.eclipse.jetty.util.IteratingCallback.succeeded.

Method to invoke when the asynchronous sub-task succeeds.

Subclasses that override this method must always remember to call super.succeeded().

Annotations
@Override
toStringback to summary
public String toString()

Overrides org.eclipse.jetty.util.IteratingCallback.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
org.eclipse.jetty.http3 back to summary

private final Record ControlFlusher.Entry

extends Record
Class Inheritance
Record Components
frame:Frame 
callback:Callback 

Field Summary

Modifier and TypeField and Description
private final Callback
callback

Record Component accessed by callback().

private final Frame
frame

Record Component accessed by frame().

Constructor Summary

AccessConstructor and Description
private
Entry(Frame frame, Callback callback)

Method Summary

Modifier and TypeMethod and Description
public Callback
callback()

Record Component getter of callback.

public final boolean
equals(Object o)

Implements abstract java.lang.Record.equals.

Indicates whether some other object is "equal to" this one.

public Frame
frame()

Record Component getter of frame.

public final int
hashCode()

Implements abstract java.lang.Record.hashCode.

Returns a hash code value for the record.

public final String
toString()

Implements abstract java.lang.Record.toString.

Returns a string representation of the record.

Field Detail

callbackback to summary
private final Callback callback

Record Component accessed by callback().

frameback to summary
private final Frame frame

Record Component accessed by frame().

Constructor Detail

Entryback to summary
private Entry(Frame frame, Callback callback)

Method Detail

callbackback to summary
public Callback callback()

Record Component getter of callback.

equalsback to summary
public final boolean equals(Object o)

Implements abstract java.lang.Record.equals.

Doc from java.lang.Record.equals.

Indicates whether some other object is "equal to" this one. In addition to the general contract of Object.equals, record classes must further obey the invariant that when a record instance is "copied" by passing the result of the record component accessor methods to the canonical constructor, as follows:

    R copy = new R(r.c1(), r.c2(), ..., r.cn());
then it must be the case that r.equals(copy).
frameback to summary
public Frame frame()

Record Component getter of frame.

hashCodeback to summary
public final int hashCode()

Implements abstract java.lang.Record.hashCode.

Doc from java.lang.Record.hashCode.

Returns a hash code value for the record. Obeys the general contract of Object.hashCode. For records, hashing behavior is constrained by the refined contract of Record.equals, so that any two records created from the same components must have the same hash code.

toStringback to summary
public final String toString()

Implements abstract java.lang.Record.toString.

Doc from java.lang.Record.toString.

Returns a string representation of the record. In accordance with the general contract of Object#toString(), the toString method returns a string that "textually represents" this record. The result should be a concise but informative representation that is easy for a person to read.

In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves.