diff --git a/api/src/main/java/io/grpc/InternalKnownTransport.java b/api/src/main/java/io/grpc/InternalKnownTransport.java index 3aca25fbb8e..e05eb03d1a9 100644 --- a/api/src/main/java/io/grpc/InternalKnownTransport.java +++ b/api/src/main/java/io/grpc/InternalKnownTransport.java @@ -24,6 +24,7 @@ @Internal public enum InternalKnownTransport { NETTY, + NETTY_SHADED, ; } diff --git a/api/src/main/java/io/grpc/MethodDescriptor.java b/api/src/main/java/io/grpc/MethodDescriptor.java index e9f8dd063c3..51c65b08cc5 100644 --- a/api/src/main/java/io/grpc/MethodDescriptor.java +++ b/api/src/main/java/io/grpc/MethodDescriptor.java @@ -51,8 +51,7 @@ public final class MethodDescriptor { // Must be set to InternalKnownTransport.values().length // Not referenced to break the dependency. - private final AtomicReferenceArray rawMethodNames = new AtomicReferenceArray<>(1); - + private final AtomicReferenceArray rawMethodNames = new AtomicReferenceArray<>(2); /** * Gets the cached "raw" method name for this Method Descriptor. The raw name is transport diff --git a/netty/src/main/java/io/grpc/netty/NettyClientStream.java b/netty/src/main/java/io/grpc/netty/NettyClientStream.java index d0193263514..6008a597c67 100644 --- a/netty/src/main/java/io/grpc/netty/NettyClientStream.java +++ b/netty/src/main/java/io/grpc/netty/NettyClientStream.java @@ -54,7 +54,9 @@ */ class NettyClientStream extends AbstractClientStream { private static final InternalMethodDescriptor methodDescriptorAccessor = - new InternalMethodDescriptor(InternalKnownTransport.NETTY); + new InternalMethodDescriptor( + NettyClientTransport.class.getName().contains("grpc.netty.shaded") + ? InternalKnownTransport.NETTY_SHADED : InternalKnownTransport.NETTY); private final Sink sink = new Sink(); private final TransportState state;