mirror of https://github.com/grpc/grpc-java.git
netty: Swap to UniformStreamByteDistributor (#11954)
This commit is contained in:
parent
2191557582
commit
2f52a00364
|
@ -50,6 +50,7 @@ abstract class AbstractNettyHandler extends GrpcHttp2ConnectionHandler {
|
|||
private final Ticker ticker;
|
||||
|
||||
private static final long BDP_MEASUREMENT_PING = 1234;
|
||||
protected static final int MIN_ALLOCATED_CHUNK = 16 * 1024;
|
||||
|
||||
AbstractNettyHandler(
|
||||
ChannelPromise channelUnused,
|
||||
|
|
|
@ -78,7 +78,7 @@ import io.netty.handler.codec.http2.Http2Settings;
|
|||
import io.netty.handler.codec.http2.Http2Stream;
|
||||
import io.netty.handler.codec.http2.Http2StreamVisitor;
|
||||
import io.netty.handler.codec.http2.StreamBufferingEncoder;
|
||||
import io.netty.handler.codec.http2.WeightedFairQueueByteDistributor;
|
||||
import io.netty.handler.codec.http2.UniformStreamByteDistributor;
|
||||
import io.netty.handler.logging.LogLevel;
|
||||
import io.perfmark.PerfMark;
|
||||
import io.perfmark.Tag;
|
||||
|
@ -169,8 +169,8 @@ class NettyClientHandler extends AbstractNettyHandler {
|
|||
Http2HeadersEncoder.NEVER_SENSITIVE, false, 16, Integer.MAX_VALUE);
|
||||
Http2FrameWriter frameWriter = new DefaultHttp2FrameWriter(encoder);
|
||||
Http2Connection connection = new DefaultHttp2Connection(false);
|
||||
WeightedFairQueueByteDistributor dist = new WeightedFairQueueByteDistributor(connection);
|
||||
dist.allocationQuantum(16 * 1024); // Make benchmarks fast again.
|
||||
UniformStreamByteDistributor dist = new UniformStreamByteDistributor(connection);
|
||||
dist.minAllocationChunk(MIN_ALLOCATED_CHUNK); // Increased for benchmarks performance.
|
||||
DefaultHttp2RemoteFlowController controller =
|
||||
new DefaultHttp2RemoteFlowController(connection, dist);
|
||||
connection.remote().flowController(controller);
|
||||
|
|
|
@ -87,7 +87,7 @@ import io.netty.handler.codec.http2.Http2OutboundFrameLogger;
|
|||
import io.netty.handler.codec.http2.Http2Settings;
|
||||
import io.netty.handler.codec.http2.Http2Stream;
|
||||
import io.netty.handler.codec.http2.Http2StreamVisitor;
|
||||
import io.netty.handler.codec.http2.WeightedFairQueueByteDistributor;
|
||||
import io.netty.handler.codec.http2.UniformStreamByteDistributor;
|
||||
import io.netty.handler.logging.LogLevel;
|
||||
import io.netty.util.AsciiString;
|
||||
import io.netty.util.ReferenceCountUtil;
|
||||
|
@ -243,8 +243,8 @@ class NettyServerHandler extends AbstractNettyHandler {
|
|||
maxMessageSize);
|
||||
|
||||
final Http2Connection connection = new DefaultHttp2Connection(true);
|
||||
WeightedFairQueueByteDistributor dist = new WeightedFairQueueByteDistributor(connection);
|
||||
dist.allocationQuantum(16 * 1024); // Make benchmarks fast again.
|
||||
UniformStreamByteDistributor dist = new UniformStreamByteDistributor(connection);
|
||||
dist.minAllocationChunk(MIN_ALLOCATED_CHUNK); // Increased for benchmarks performance.
|
||||
DefaultHttp2RemoteFlowController controller =
|
||||
new DefaultHttp2RemoteFlowController(connection, dist);
|
||||
connection.remote().flowController(controller);
|
||||
|
|
Loading…
Reference in New Issue