From 96cb703f79b76861fdb62b5574c82ba66cef6338 Mon Sep 17 00:00:00 2001 From: NguyenHoangSon96 Date: Mon, 22 Dec 2025 12:45:56 +0700 Subject: [PATCH 1/2] grpc-okhttp: implement OkHttpReadableBuffer readBytes(ByteBuffer dest) --- .../src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java | 7 +++++-- .../test/java/io/grpc/okhttp/OkHttpReadableBufferTest.java | 6 ------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java b/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java index 136ee8954a2..ebdbfa8b5cb 100644 --- a/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java +++ b/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java @@ -73,8 +73,11 @@ public void readBytes(byte[] dest, int destOffset, int length) { @Override public void readBytes(ByteBuffer dest) { - // We are not using it. - throw new UnsupportedOperationException(); + try { + buffer.read(dest); + } catch (IOException e) { + throw new RuntimeException(e); + } } @Override diff --git a/okhttp/src/test/java/io/grpc/okhttp/OkHttpReadableBufferTest.java b/okhttp/src/test/java/io/grpc/okhttp/OkHttpReadableBufferTest.java index 4aeeae2fa8b..8f6cc71e20a 100644 --- a/okhttp/src/test/java/io/grpc/okhttp/OkHttpReadableBufferTest.java +++ b/okhttp/src/test/java/io/grpc/okhttp/OkHttpReadableBufferTest.java @@ -44,12 +44,6 @@ public void setup() { } } - @Override - @Test - public void readToByteBufferShouldSucceed() { - // Not supported. - } - @Override @Test public void partialReadToByteBufferShouldSucceed() { From 62b8de0ab550431ad7bc88f7a1af2cad777ec2fb Mon Sep 17 00:00:00 2001 From: MV Shiva Date: Mon, 22 Dec 2025 15:59:47 +0530 Subject: [PATCH 2/2] being consistent with the code in OkHttpReadableBuffer --- .../src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java b/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java index ebdbfa8b5cb..dbec558a950 100644 --- a/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java +++ b/okhttp/src/main/java/io/grpc/okhttp/OkHttpReadableBuffer.java @@ -73,8 +73,12 @@ public void readBytes(byte[] dest, int destOffset, int length) { @Override public void readBytes(ByteBuffer dest) { + int remaining = dest.remaining(); try { - buffer.read(dest); + int read = buffer.read(dest); + if (read < remaining) { + throw new IndexOutOfBoundsException("EOF trying to read " + remaining + " bytes"); + } } catch (IOException e) { throw new RuntimeException(e); }