aboutsummaryrefslogtreecommitdiff
path: root/netty
diff options
context:
space:
mode:
authorCarl Mastrangelo <notcarl@google.com>2017-10-31 10:49:25 -0700
committerGitHub <noreply@github.com>2017-10-31 10:49:25 -0700
commit8f88cb82f2914312cb75f533822e169ecac78d21 (patch)
treec18659b4c43ea5f5372078c46b36c3910f0cce71 /netty
parent46b2ce19223f47367309e6fceda5517762156810 (diff)
downloadgrpc-grpc-java-8f88cb82f2914312cb75f533822e169ecac78d21.tar.gz
netty: include rst stream message in Status
Diffstat (limited to 'netty')
-rw-r--r--netty/src/main/java/io/grpc/netty/NettyServerHandler.java7
-rw-r--r--netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java7
2 files changed, 10 insertions, 4 deletions
diff --git a/netty/src/main/java/io/grpc/netty/NettyServerHandler.java b/netty/src/main/java/io/grpc/netty/NettyServerHandler.java
index 78cc8315f..f85e6b702 100644
--- a/netty/src/main/java/io/grpc/netty/NettyServerHandler.java
+++ b/netty/src/main/java/io/grpc/netty/NettyServerHandler.java
@@ -396,11 +396,12 @@ class NettyServerHandler extends AbstractNettyHandler {
}
}
- private void onRstStreamRead(int streamId) throws Http2Exception {
+ private void onRstStreamRead(int streamId, long errorCode) throws Http2Exception {
try {
NettyServerStream.TransportState stream = serverStream(connection().stream(streamId));
if (stream != null) {
- stream.transportReportStatus(Status.CANCELLED);
+ stream.transportReportStatus(
+ Status.CANCELLED.withDescription("RST_STREAM received for code " + errorCode));
}
} catch (Throwable e) {
logger.log(Level.WARNING, "Exception in onRstStreamRead()", e);
@@ -664,7 +665,7 @@ class NettyServerHandler extends AbstractNettyHandler {
if (keepAliveManager != null) {
keepAliveManager.onDataReceived();
}
- NettyServerHandler.this.onRstStreamRead(streamId);
+ NettyServerHandler.this.onRstStreamRead(streamId, errorCode);
}
@Override
diff --git a/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java b/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java
index 5ae27bd64..8854961de 100644
--- a/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java
+++ b/netty/src/test/java/io/grpc/netty/NettyServerHandlerTest.java
@@ -52,6 +52,7 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import com.google.common.io.ByteStreams;
+import com.google.common.truth.Truth;
import io.grpc.Attributes;
import io.grpc.Metadata;
import io.grpc.ServerStreamTracer;
@@ -273,7 +274,11 @@ public class NettyServerHandlerTest extends NettyHandlerTestBase<NettyServerHand
createStream();
channelRead(rstStreamFrame(STREAM_ID, (int) Http2Error.CANCEL.code()));
- verify(streamListener).closed(Status.CANCELLED);
+
+ ArgumentCaptor<Status> statusCap = ArgumentCaptor.forClass(Status.class);
+ verify(streamListener).closed(statusCap.capture());
+ assertEquals(Code.CANCELLED, statusCap.getValue().getCode());
+ Truth.assertThat(statusCap.getValue().getDescription()).contains("RST_STREAM");
verify(streamListener, atLeastOnce()).onReady();
assertNull("no messages expected", streamListenerMessageQueue.poll());
}