RFR: 8329829: HttpClient: Add a BodyPublishers.ofFileChannel method [v2]
Volkan Yazici
vyazici at openjdk.org
Mon Jul 7 09:32:36 UTC 2025
On Mon, 7 Jul 2025 08:36:51 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> Volkan Yazici has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Implement review feedback
>
> src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java line 488:
>
>> 486: ByteBuffer buffer = Utils.BUFSIZE > remaining
>> 487: ? Utils.getBufferWithAtMost((int) remaining)
>> 488: : Utils.getBuffer();
>
> I suggest to change `Utils.getBufferWithAtMost` to take a long instead of an int, and replace the ternary operator here with simply:
>
> ByteBuffer buffer = Utils.getBufferWithAtMost(remaining);
Implemented in 0eda56f18a2.
> src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java line 386:
>
>> 384: * @throws IllegalArgumentException if {@code capacity < 0}
>> 385: */
>> 386: public static ByteBuffer getBufferWithAtMost(int maxCapacity) {
>
> Suggestion:
>
> public static ByteBuffer getBufferWithAtMost(long maxCapacity) {
>
>
> We could accept `long` here.
Implemented in 0eda56f18a2.
> src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java line 392:
>
>> 390: "capacity < 0: (%s < 0)".formatted(maxCapacity));
>> 391: }
>> 392: int effectiveCapacity = Math.clamp(maxCapacity, 0, BUFSIZE);
>
> Suggestion:
>
> int effectiveCapacity = (int) Math.min(maxCapacity, (long) BUFSIZE);
>
> Use Math.min(long,long) - since BUFZIZE is an int we can safely cast back to int. No need to clamp at 0 since we verified maxCapacity >= 0
Implemented in 0eda56f18a2.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26155#discussion_r2189487270
PR Review Comment: https://git.openjdk.org/jdk/pull/26155#discussion_r2189487509
PR Review Comment: https://git.openjdk.org/jdk/pull/26155#discussion_r2189487815
More information about the net-dev
mailing list