e7efe2b929
Motivation: Currently when an exception occurs during a listener.onDataRead callback, we return all bytes as processed. However, the listener may choose to return bytes via the InboundFlowState object rather than returning the integer. If the listener returns a few bytes and then throws, we will attempt to return too many bytes. Modifications: Added InboundFlowState.unProcessedBytes() to indicate how many unprocessed bytes are outstanding. Updated DefaultHttp2ConnectionDecoder to compare the unprocessed bytes before and after the listener.onDataRead callback when an exception was encountered. If there is a difference, it is subtracted off the total processed bytes to be returned to the flow controller. Result: HTTP/2 data frame delivery properly accounts for processed bytes through an exception. |
||
---|---|---|
.. | ||
src | ||
pom.xml |