RFR: 8268435: (ch) ChannelInputStream could override readAllBytes
delvh
github.com+51889757+delvh at openjdk.java.net
Thu Sep 23 22:22:53 UTC 2021
On Thu, 23 Sep 2021 01:52:31 GMT, Brian Burkhalter <bpb at openjdk.org> wrote:
> This change would override `readAllBytes()` and `readNBytes(int)` in `ChannelInputStream` thereby improving performance for all but smaller streams.
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 115:
> 113: @Override
> 114: public byte[] readAllBytes() throws IOException {
> 115: if (!(ch instanceof SeekableByteChannel))
I think Pattern matching can be used here to make `117` obsolete. So:
Suggestion:
if (!(ch instanceof SeekableByteChannel sbc))
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 117:
> 115: if (!(ch instanceof SeekableByteChannel))
> 116: return super.readAllBytes();
> 117: SeekableByteChannel sbc = (SeekableByteChannel)ch;
Suggestion:
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 126:
> 124: return super.readAllBytes();
> 125:
> 126: if (size > (long) Integer.MAX_VALUE) {
Suggestion:
else if (size > (long) Integer.MAX_VALUE) {
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 138:
> 136: int nread = 0;
> 137: int n;
> 138: for (;;) {
Suggestion:
while (true) {
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 164:
> 162: if (len < 0)
> 163: throw new IllegalArgumentException("len < 0");
> 164: if (len == 0)
Suggestion:
else if (len == 0)
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 167:
> 165: return new byte[0];
> 166:
> 167: if (!(ch instanceof SeekableByteChannel))
Suggestion:
else if (!(ch instanceof SeekableByteChannel sbc))
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 169:
> 167: if (!(ch instanceof SeekableByteChannel))
> 168: return super.readAllBytes();
> 169: SeekableByteChannel sbc = (SeekableByteChannel)ch;
Suggestion:
src/java.base/share/classes/sun/nio/ch/ChannelInputStream.java line 186:
> 184: do {
> 185: n = read(buf, nread, remaining);
> 186: if (n > 0 ) {
Formatting?
Suggestion:
if (n > 0) {
-------------
PR: https://git.openjdk.java.net/jdk/pull/5645
More information about the nio-dev
mailing list