On Mon, 13 Nov 2023 15:25:25 GMT, Darragh Clarke <[email protected]> wrote:

>> **Problem**
>> `discardRequestBody` calls `InputStream::readAllBytes` to read and discard 
>> all the request body bytes. This is somewhat wasteful as they can instead be 
>> skipped.
>> 
>> **Changes**
>> - Updated `FileServerHandler::discardRequestBody` to use `InputStream::skip`.
>> - Created skip in `LeftOverInputStream` based on 
>> [InputStream](https://github.com/openjdk/jdk/blob/c9657cad124d2be10b8d6006d0ca9a038b1c5945/src/java.base/share/classes/java/io/InputStream.java#L540).
>>  This gets used by `FixedLengthInputStream` and `ChunkedInputStream` which 
>> previously had been using the skip implementation from `FilteredInputStream` 
>> which would have caused blocking.
>> 
>> - Also made a minor change to `LeftOverInputStream::Drain` to change bufSize.
>> 
>> 
>> I ran test tiers 1-3 and all tests are passing with these changes
>
> Darragh Clarke has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   updated drain to use the new skip method

Marked as reviewed by michaelm (Reviewer).

drain() was implemented prior to readNBytes() being added in JDK 12. It would 
have just used that method instead if it were available. I don't think it's 
worth going back and changing it though. So, the fix LGTM

-------------

PR Review: https://git.openjdk.org/jdk/pull/16616#pullrequestreview-1731368671
PR Comment: https://git.openjdk.org/jdk/pull/16616#issuecomment-1811918864

Reply via email to