Skip to content

Commit 0838b73

Browse files
authored
netty: remove unneeded TransportTracer null checks
1 parent 07747c5 commit 0838b73

3 files changed

Lines changed: 33 additions & 39 deletions

File tree

netty/src/main/java/io/grpc/netty/NettyClientHandler.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
import io.netty.handler.codec.http2.Http2ConnectionEncoder;
6363
import io.netty.handler.codec.http2.Http2Error;
6464
import io.netty.handler.codec.http2.Http2Exception;
65-
import io.netty.handler.codec.http2.Http2FlowController;
6665
import io.netty.handler.codec.http2.Http2FrameAdapter;
6766
import io.netty.handler.codec.http2.Http2FrameLogger;
6867
import io.netty.handler.codec.http2.Http2FrameReader;
@@ -217,17 +216,7 @@ static NettyClientHandler newHandler(
217216
Http2ConnectionDecoder decoder = new DefaultHttp2ConnectionDecoder(connection, encoder,
218217
frameReader);
219218

220-
transportTracer.setFlowControlWindowReader(new TransportTracer.FlowControlReader() {
221-
final Http2FlowController local = connection.local().flowController();
222-
final Http2FlowController remote = connection.remote().flowController();
223-
224-
@Override
225-
public TransportTracer.FlowControlWindows read() {
226-
return new TransportTracer.FlowControlWindows(
227-
local.windowSize(connection.connectionStream()),
228-
remote.windowSize(connection.connectionStream()));
229-
}
230-
});
219+
transportTracer.setFlowControlWindowReader(new Utils.FlowControlReader(connection));
231220

232221
Http2Settings settings = new Http2Settings();
233222
settings.pushEnabled(false);

netty/src/main/java/io/grpc/netty/NettyServerHandler.java

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
import io.netty.handler.codec.http2.Http2Error;
7070
import io.netty.handler.codec.http2.Http2Exception;
7171
import io.netty.handler.codec.http2.Http2Exception.StreamException;
72-
import io.netty.handler.codec.http2.Http2FlowController;
7372
import io.netty.handler.codec.http2.Http2FrameAdapter;
7473
import io.netty.handler.codec.http2.Http2FrameLogger;
7574
import io.netty.handler.codec.http2.Http2FrameReader;
@@ -367,23 +366,8 @@ public void run() {
367366
keepAliveManager.onTransportStarted();
368367
}
369368

370-
371-
if (transportTracer != null) {
372-
assert encoder().connection().equals(decoder().connection());
373-
final Http2Connection connection = encoder().connection();
374-
transportTracer.setFlowControlWindowReader(new TransportTracer.FlowControlReader() {
375-
private final Http2FlowController local = connection.local().flowController();
376-
private final Http2FlowController remote = connection.remote().flowController();
377-
378-
@Override
379-
public TransportTracer.FlowControlWindows read() {
380-
assert ctx.executor().inEventLoop();
381-
return new TransportTracer.FlowControlWindows(
382-
local.windowSize(connection.connectionStream()),
383-
remote.windowSize(connection.connectionStream()));
384-
}
385-
});
386-
}
369+
assert encoder().connection().equals(decoder().connection());
370+
transportTracer.setFlowControlWindowReader(new Utils.FlowControlReader(encoder().connection()));
387371

388372
super.handlerAdded(ctx);
389373
}
@@ -895,16 +879,14 @@ public void ping() {
895879
ChannelFuture pingFuture = encoder().writePing(
896880
ctx, false /* isAck */, KEEPALIVE_PING, ctx.newPromise());
897881
ctx.flush();
898-
if (transportTracer != null) {
899-
pingFuture.addListener(new ChannelFutureListener() {
900-
@Override
901-
public void operationComplete(ChannelFuture future) throws Exception {
902-
if (future.isSuccess()) {
903-
transportTracer.reportKeepAliveSent();
904-
}
882+
pingFuture.addListener(new ChannelFutureListener() {
883+
@Override
884+
public void operationComplete(ChannelFuture future) throws Exception {
885+
if (future.isSuccess()) {
886+
transportTracer.reportKeepAliveSent();
905887
}
906-
});
907-
}
888+
}
889+
});
908890
}
909891

910892
@Override

netty/src/main/java/io/grpc/netty/Utils.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import io.grpc.Status;
3333
import io.grpc.internal.GrpcUtil;
3434
import io.grpc.internal.SharedResourceHolder.Resource;
35+
import io.grpc.internal.TransportTracer;
3536
import io.grpc.netty.GrpcHttp2HeadersUtils.GrpcHttp2InboundHeaders;
3637
import io.grpc.netty.NettySocketSupport.NativeSocketOptions;
3738
import io.netty.buffer.ByteBufAllocator;
@@ -47,8 +48,11 @@
4748
import io.netty.channel.socket.nio.NioServerSocketChannel;
4849
import io.netty.channel.socket.nio.NioSocketChannel;
4950
import io.netty.handler.codec.DecoderException;
51+
import io.netty.handler.codec.http2.Http2Connection;
5052
import io.netty.handler.codec.http2.Http2Exception;
53+
import io.netty.handler.codec.http2.Http2FlowController;
5154
import io.netty.handler.codec.http2.Http2Headers;
55+
import io.netty.handler.codec.http2.Http2Stream;
5256
import io.netty.util.AsciiString;
5357
import io.netty.util.NettyRuntime;
5458
import io.netty.util.concurrent.DefaultThreadFactory;
@@ -441,6 +445,25 @@ public String toString() {
441445
}
442446
}
443447

448+
static final class FlowControlReader implements TransportTracer.FlowControlReader {
449+
private final Http2Stream connectionStream;
450+
private final Http2FlowController local;
451+
private final Http2FlowController remote;
452+
453+
FlowControlReader(Http2Connection connection) {
454+
local = connection.local().flowController();
455+
remote = connection.remote().flowController();
456+
connectionStream = connection.connectionStream();
457+
}
458+
459+
@Override
460+
public TransportTracer.FlowControlWindows read() {
461+
return new TransportTracer.FlowControlWindows(
462+
local.windowSize(connectionStream),
463+
remote.windowSize(connectionStream));
464+
}
465+
}
466+
444467
static InternalChannelz.SocketOptions getSocketOptions(Channel channel) {
445468
ChannelConfig config = channel.config();
446469
InternalChannelz.SocketOptions.Builder b = new InternalChannelz.SocketOptions.Builder();

0 commit comments

Comments
 (0)