This commit is contained in:
Abhishek Agrawal 2025-07-24 08:09:21 -07:00 committed by GitHub
commit 0d65ad27ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 29 additions and 1 deletions

View File

@ -101,6 +101,15 @@ public final class Grpc {
return ManagedChannelRegistry.getDefaultRegistry().newChannelBuilder(target, creds); return ManagedChannelRegistry.getDefaultRegistry().newChannelBuilder(target, creds);
} }
/**
* Creates a channel builder with a target string, credentials and nameResolverRegistry.
*/
public static ManagedChannelBuilder<?> newChannelBuilder(String target,
ChannelCredentials creds, NameResolverRegistry nameResolverRegistry) {
return ManagedChannelRegistry.getDefaultRegistry().newChannelBuilder(nameResolverRegistry,
target, creds);
}
/** /**
* Creates a channel builder from a host, port, and credentials. The host and port are combined to * Creates a channel builder from a host, port, and credentials. The host and port are combined to
* form an authority string and then passed to {@link #newChannelBuilder(String, * form an authority string and then passed to {@link #newChannelBuilder(String,

View File

@ -155,7 +155,6 @@ public final class ManagedChannelRegistry {
return newChannelBuilder(NameResolverRegistry.getDefaultRegistry(), target, creds); return newChannelBuilder(NameResolverRegistry.getDefaultRegistry(), target, creds);
} }
@VisibleForTesting
ManagedChannelBuilder<?> newChannelBuilder(NameResolverRegistry nameResolverRegistry, ManagedChannelBuilder<?> newChannelBuilder(NameResolverRegistry nameResolverRegistry,
String target, ChannelCredentials creds) { String target, ChannelCredentials creds) {
NameResolverProvider nameResolverProvider = null; NameResolverProvider nameResolverProvider = null;

View File

@ -28,7 +28,9 @@ import io.grpc.ManagedChannelBuilder;
import io.grpc.ManagedChannelProvider; import io.grpc.ManagedChannelProvider;
import io.grpc.ManagedChannelProvider.NewChannelBuilderResult; import io.grpc.ManagedChannelProvider.NewChannelBuilderResult;
import io.grpc.ManagedChannelRegistryAccessor; import io.grpc.ManagedChannelRegistryAccessor;
import io.grpc.NameResolverRegistry;
import io.grpc.TlsChannelCredentials; import io.grpc.TlsChannelCredentials;
import io.grpc.internal.testing.FakeNameResolverProvider;
import io.grpc.stub.StreamObserver; import io.grpc.stub.StreamObserver;
import io.grpc.testing.GrpcCleanupRule; import io.grpc.testing.GrpcCleanupRule;
import io.grpc.testing.protobuf.SimpleRequest; import io.grpc.testing.protobuf.SimpleRequest;
@ -120,6 +122,24 @@ public class UdsNettyChannelProviderTest {
channel.shutdownNow(); channel.shutdownNow();
} }
@Test
public void managedChannelRegistry_newChannelBuilderForNameResolverRegistry() {
Assume.assumeTrue(Utils.isEpollAvailable());
NameResolverRegistry nameResolverRegistry = new NameResolverRegistry();
DomainSocketAddress socketAddress = new DomainSocketAddress("test-server");
FakeNameResolverProvider fakeNameResolverProvider = new FakeNameResolverProvider(
"unix:///sock.sock", socketAddress);
nameResolverRegistry.register(fakeNameResolverProvider);
ManagedChannelBuilder<?> managedChannelBuilder
= Grpc.newChannelBuilder("unix:///sock.sock",
InsecureChannelCredentials.create(), nameResolverRegistry);
assertThat(managedChannelBuilder).isNotNull();
ManagedChannel channel = managedChannelBuilder.build();
assertThat(channel).isNotNull();
assertThat(channel.authority()).isEqualTo("/sock.sock");
channel.shutdownNow();
}
@Test @Test
public void udsClientServerTestUsingProvider() throws IOException { public void udsClientServerTestUsingProvider() throws IOException {
Assume.assumeTrue(Utils.isEpollAvailable()); Assume.assumeTrue(Utils.isEpollAvailable());