Skip to content

Commit 75cccde

Browse files
committed
core: Inline AbstractManagedChannelImplBuilder
1 parent ee5b592 commit 75cccde

8 files changed

Lines changed: 1128 additions & 1247 deletions

core/src/main/java/io/grpc/internal/AbstractManagedChannelImplBuilder.java

Lines changed: 0 additions & 670 deletions
This file was deleted.

core/src/main/java/io/grpc/internal/ManagedChannelImpl.java

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import io.grpc.Context;
4545
import io.grpc.DecompressorRegistry;
4646
import io.grpc.EquivalentAddressGroup;
47+
import io.grpc.ForwardingChannelBuilder;
4748
import io.grpc.InternalChannelz;
4849
import io.grpc.InternalChannelz.ChannelStats;
4950
import io.grpc.InternalChannelz.ChannelTrace;
@@ -72,6 +73,8 @@
7273
import io.grpc.SynchronizationContext.ScheduledHandle;
7374
import io.grpc.internal.AutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancer;
7475
import io.grpc.internal.ClientCallImpl.ClientStreamProvider;
76+
import io.grpc.internal.ManagedChannelImplBuilder.FixedPortProvider;
77+
import io.grpc.internal.ManagedChannelImplBuilder.UnsupportedClientTransportFactoryBuilder;
7578
import io.grpc.internal.ManagedChannelServiceConfig.MethodInfo;
7679
import io.grpc.internal.RetriableStream.ChannelBufferMeter;
7780
import io.grpc.internal.RetriableStream.Throttle;
@@ -574,7 +577,7 @@ ClientStream newSubstream(ClientStreamTracer.Factory tracerFactory, Metadata new
574577
private final Rescheduler idleTimer;
575578

576579
ManagedChannelImpl(
577-
AbstractManagedChannelImplBuilder<?> builder,
580+
ManagedChannelImplBuilder builder,
578581
ClientTransportFactory clientTransportFactory,
579582
BackoffPolicy.Provider backoffPolicyProvider,
580583
ObjectPool<? extends Executor> balancerRpcExecutorPool,
@@ -661,7 +664,7 @@ public void execute(Runnable command) {
661664
} else {
662665
checkArgument(
663666
builder.idleTimeoutMillis
664-
>= AbstractManagedChannelImplBuilder.IDLE_MODE_MIN_TIMEOUT_MILLIS,
667+
>= ManagedChannelImplBuilder.IDLE_MODE_MIN_TIMEOUT_MILLIS,
665668
"invalid idleTimeoutMillis %s", builder.idleTimeoutMillis);
666669
this.idleTimeoutMillis = builder.idleTimeoutMillis;
667670
}
@@ -1446,28 +1449,30 @@ public void run() {
14461449
@Override
14471450
public ManagedChannelBuilder<?> createResolvingOobChannelBuilder(String target) {
14481451
final class ResolvingOobChannelBuilder
1449-
extends AbstractManagedChannelImplBuilder<ResolvingOobChannelBuilder> {
1450-
int defaultPort = -1;
1452+
extends ForwardingChannelBuilder<ResolvingOobChannelBuilder> {
1453+
private final ManagedChannelImplBuilder managedChannelImplBuilder;
14511454

14521455
ResolvingOobChannelBuilder(String target) {
1453-
super(target);
1456+
final class ResolvingOobUnsupportedClientTransportFactoryBuilder extends
1457+
UnsupportedClientTransportFactoryBuilder {}
1458+
1459+
managedChannelImplBuilder = new ManagedChannelImplBuilder(target,
1460+
new ResolvingOobUnsupportedClientTransportFactoryBuilder(),
1461+
new FixedPortProvider(nameResolverArgs.getDefaultPort()));
1462+
managedChannelImplBuilder.executorPool = executorPool;
1463+
managedChannelImplBuilder.offloadExecutorPool = offloadExecutorHolder.pool;
14541464
}
14551465

14561466
@Override
1457-
public int getDefaultPort() {
1458-
return defaultPort;
1459-
}
1460-
1461-
@Override
1462-
protected ClientTransportFactory buildTransportFactory() {
1463-
throw new UnsupportedOperationException();
1467+
protected ManagedChannelBuilder<?> delegate() {
1468+
return managedChannelImplBuilder;
14641469
}
14651470

14661471
@Override
14671472
public ManagedChannel build() {
14681473
// TODO(creamsoup) prevent main channel to shutdown if oob channel is not terminated
14691474
return new ManagedChannelImpl(
1470-
this,
1475+
managedChannelImplBuilder,
14711476
transportFactory,
14721477
backoffPolicyProvider,
14731478
balancerRpcExecutorPool,
@@ -1479,17 +1484,15 @@ public ManagedChannel build() {
14791484

14801485
checkState(!terminated, "Channel is terminated");
14811486

1482-
ResolvingOobChannelBuilder builder = new ResolvingOobChannelBuilder(target);
1483-
builder.offloadExecutorPool = offloadExecutorHolder.pool;
1484-
builder.overrideAuthority(getAuthority());
14851487
@SuppressWarnings("deprecation")
1486-
ResolvingOobChannelBuilder unused = builder.nameResolverFactory(nameResolverFactory);
1487-
builder.executorPool = executorPool;
1488-
builder.maxTraceEvents = maxTraceEvents;
1489-
builder.proxyDetector = nameResolverArgs.getProxyDetector();
1490-
builder.defaultPort = nameResolverArgs.getDefaultPort();
1491-
builder.userAgent = userAgent;
1492-
return builder;
1488+
ResolvingOobChannelBuilder builder = new ResolvingOobChannelBuilder(target)
1489+
.nameResolverFactory(nameResolverFactory);
1490+
1491+
return builder
1492+
.overrideAuthority(getAuthority())
1493+
.maxTraceEvents(maxTraceEvents)
1494+
.proxyDetector(nameResolverArgs.getProxyDetector())
1495+
.userAgent(userAgent);
14931496
}
14941497

14951498
@Override

0 commit comments

Comments
 (0)