| Modifier and Type | Field and Description |
|---|---|
| pack-priv final Http2Connection | |
| pack-priv volatile String | |
| pack-priv final Logger | |
| pack-priv final int | |
| pack-priv final AtomicLong | |
| pack-priv final ReentrantLock | |
| pack-priv final AtomicLong | |
| pack-priv final int |
| Access | Constructor and Description |
|---|---|
| pack-priv | |
| pack-priv | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv boolean | Returns: true if buffering the given amount of
flow controlled data would not exceed the flow control
windowa number of unprocessed bytes, which
the caller wants to buffer. len)Returns |
| private boolean | |
| pack-priv String | |
| pack-priv abstract int | |
| pack-priv void | processed(int
the amount of processed bytes to release delta)Called after unprocessed buffered bytes have been processed, to release part of the flow control window |
| pack-priv long | Returns: the amount of remaining unprocessed bytesthe amount of bytes to release from the window delta)Called when it is desired to release unprocessed bytes without processing them, or without triggering the sending of a window update. |
| pack-priv void | |
| pack-priv void | update(int
the amount of bytes released from the window. delta)This method is called to update the flow control window, and possibly send a window update |
| protected abstract boolean | Returns: true if the error was reported to the peer
and no further window update should be sent.the amount of data received, which is greater
than received)windowSizeCalled when the flow control window size is exceeded This method may return false if flow control is disabled in this endpoint. |
| connection | back to summary |
|---|---|
| pack-priv final Http2Connection connection | |
| dbgString | back to summary |
|---|---|
| pack-priv volatile String dbgString | |
| debug | back to summary |
|---|---|
| pack-priv final Logger debug | |
| limit | back to summary |
|---|---|
| pack-priv final int limit | |
| received | back to summary |
|---|---|
| pack-priv final AtomicLong received | |
| sendLock | back to summary |
|---|---|
| pack-priv final ReentrantLock sendLock | |
| unprocessed | back to summary |
|---|---|
| pack-priv final AtomicLong unprocessed | |
| windowSize | back to summary |
|---|---|
| pack-priv final int windowSize | |
| WindowUpdateSender | back to summary |
|---|---|
| pack-priv WindowUpdateSender(Http2Connection connection) | |
| WindowUpdateSender | back to summary |
|---|---|
| pack-priv WindowUpdateSender(Http2Connection connection, int initWindowSize) | |
| WindowUpdateSender | back to summary |
|---|---|
| pack-priv WindowUpdateSender(Http2Connection connection, int maxFrameSize, int initWindowSize) | |
| canBufferUnprocessedBytes | back to summary |
|---|---|
| pack-priv boolean canBufferUnprocessedBytes(int len) Returns This method is called before buffering and processing a DataFrame. The count of unprocessed bytes is incremented by the given amount, and checked against the number of available bytes in the flow control window.
This method returns
When this method returns true, either Implementation Specification an HTTP/2 endpoint may disable its own flow control (see RFC 9113, section 5.2.1), in which case this method may return true even if the flow control window would be exceeded: that is, the flow control window is exceeded but the endpoint decided to take no corrective action.
| |
| checkWindowSizeExceeded | back to summary |
|---|---|
| private boolean checkWindowSizeExceeded(long processed, long len) | |
| dbgString | back to summary |
|---|---|
| pack-priv String dbgString() | |
| getStreamId | back to summary |
|---|---|
| pack-priv abstract int getStreamId() | |
| processed | back to summary |
|---|---|
| pack-priv void processed(int delta) Called after unprocessed buffered bytes have been processed, to release part of the flow control window API Note this method is called only when releasing bytes
that where buffered after calling
| |
| released | back to summary |
|---|---|
| pack-priv long released(int delta) Called when it is desired to release unprocessed bytes
without processing them, or without triggering the
sending of a window update. This method can be called
instead of calling API Note this method should only be called to release bytes that
have been buffered after calling
| |
| sendWindowUpdate | back to summary |
|---|---|
| pack-priv void sendWindowUpdate(int delta) | |
| update | back to summary |
|---|---|
| pack-priv void update(int delta) This method is called to update the flow control window, and possibly send a window update API Note this method can be called directly if a frame is
dropped before calling
| |
| windowSizeExceeded | back to summary |
|---|---|
| protected abstract boolean windowSizeExceeded(long received) Called when the flow control window size is exceeded This method may return false if flow control is disabled in this endpoint.
| |