netty: deflake ping flow control logic

This commit is contained in:
Carl Mastrangelo 2019-04-16 13:17:59 -07:00 committed by GitHub
parent 8941a69480
commit f3731eabb3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

View File

@ -206,9 +206,14 @@ abstract class AbstractNettyHandler extends GrpcHttp2ConnectionHandler {
return dataSizeSincePing; return dataSizeSincePing;
} }
@VisibleForTesting private void setDataSizeSincePing(int dataSize) {
void setDataSizeSincePing(int dataSize) {
dataSizeSincePing = dataSize; dataSizeSincePing = dataSize;
} }
@VisibleForTesting
void setDataSizeAndSincePing(int dataSize) {
setDataSizeSincePing(dataSize);
lastPingTime = System.nanoTime() - TimeUnit.SECONDS.toNanos(1);
}
} }
} }

View File

@ -440,7 +440,7 @@ public abstract class NettyHandlerTestBase<T extends Http2ConnectionHandler> {
Http2LocalFlowController localFlowController = connection().local().flowController(); Http2LocalFlowController localFlowController = connection().local().flowController();
int maxWindow = handler.flowControlPing().maxWindow(); int maxWindow = handler.flowControlPing().maxWindow();
handler.flowControlPing().setDataSizeSincePing(maxWindow); handler.flowControlPing().setDataSizeAndSincePing(maxWindow);
long payload = handler.flowControlPing().payload(); long payload = handler.flowControlPing().payload();
channelRead(pingFrame(true, payload)); channelRead(pingFrame(true, payload));