Package org.eclipse.jetty.http2
Class HTTP2Session.ControlEntry
- java.lang.Object
-
- org.eclipse.jetty.util.Callback.Completing
-
- org.eclipse.jetty.util.Callback.Nested
-
- org.eclipse.jetty.http2.HTTP2Flusher.Entry
-
- org.eclipse.jetty.http2.HTTP2Session.ControlEntry
-
- All Implemented Interfaces:
org.eclipse.jetty.util.Callback
,org.eclipse.jetty.util.thread.Invocable
- Enclosing class:
- HTTP2Session
private class HTTP2Session.ControlEntry extends HTTP2Flusher.Entry
-
-
Field Summary
Fields Modifier and Type Field Description private int
frameBytes
-
Fields inherited from class org.eclipse.jetty.http2.HTTP2Flusher.Entry
frame, stream
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ControlEntry(Frame frame, IStream stream, org.eclipse.jetty.util.Callback callback)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
beforeSend()
Performs actions just before writing the frame to the network.protected boolean
generate(org.eclipse.jetty.io.ByteBufferPool.Lease lease)
int
getFrameBytesGenerated()
(package private) boolean
hasHighPriority()
long
onFlushed(long bytes)
void
succeeded()
-
Methods inherited from class org.eclipse.jetty.http2.HTTP2Flusher.Entry
commit, failed, getDataBytesRemaining, toString
-
-
-
-
Method Detail
-
getFrameBytesGenerated
public int getFrameBytesGenerated()
- Specified by:
getFrameBytesGenerated
in classHTTP2Flusher.Entry
-
generate
protected boolean generate(org.eclipse.jetty.io.ByteBufferPool.Lease lease) throws HpackException
- Specified by:
generate
in classHTTP2Flusher.Entry
- Throws:
HpackException
-
onFlushed
public long onFlushed(long bytes)
- Specified by:
onFlushed
in classHTTP2Flusher.Entry
-
beforeSend
private void beforeSend()
Performs actions just before writing the frame to the network.
Some frame, when sent over the network, causes the receiver to react and send back frames that may be processed by the original sender *before*
succeeded()
is called.If the action to perform updates some state, this update may not be seen by the received frames and cause errors.
For example, suppose the action updates the stream window to a larger value; the sender sends the frame; the receiver is now entitled to send back larger data; when the data is received by the original sender, the action may have not been performed yet, causing the larger data to be rejected, when it should have been accepted.
-
hasHighPriority
boolean hasHighPriority()
- Overrides:
hasHighPriority
in classHTTP2Flusher.Entry
-
succeeded
public void succeeded()
- Specified by:
succeeded
in interfaceorg.eclipse.jetty.util.Callback
- Overrides:
succeeded
in classorg.eclipse.jetty.util.Callback.Nested
-
-