Skip to content

Commit 0b55c81

Browse files
committed
core: Move ACCEPT_ENCODING_JOINER to DecompressorRegistry
This removes a reference of io.grpc.internal from io.grpc. It also optimizes server call handling for outbound grpc-accept-encoding header, as had already been done for client call.
1 parent 4b127f2 commit 0b55c81

4 files changed

Lines changed: 9 additions & 11 deletions

File tree

benchmarks/src/jmh/java/io/grpc/DecompressorRegistryBenchmark.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
package io.grpc;
3333

34-
import io.grpc.internal.GrpcUtil;
34+
import static io.grpc.DecompressorRegistry.ACCEPT_ENCODING_JOINER;
3535

3636
import org.openjdk.jmh.annotations.Benchmark;
3737
import org.openjdk.jmh.annotations.BenchmarkMode;
@@ -87,7 +87,7 @@ public InputStream decompress(InputStream is) throws IOException {
8787
@OutputTimeUnit(TimeUnit.NANOSECONDS)
8888
public String dynamicAcceptEncoding() {
8989
if (!reg.getAdvertisedMessageEncodings().isEmpty()) {
90-
return GrpcUtil.ACCEPT_ENCODING_JOINER.join(reg.getAdvertisedMessageEncodings());
90+
return ACCEPT_ENCODING_JOINER.join(reg.getAdvertisedMessageEncodings());
9191
}
9292
return "";
9393
}

core/src/main/java/io/grpc/DecompressorRegistry.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333

3434
import static com.google.common.base.Preconditions.checkArgument;
3535
import static com.google.common.base.Preconditions.checkNotNull;
36-
import static io.grpc.internal.GrpcUtil.ACCEPT_ENCODING_JOINER;
36+
37+
import com.google.common.base.Joiner;
3738

3839
import java.util.Collections;
3940
import java.util.HashSet;
@@ -51,6 +52,8 @@
5152
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1704")
5253
@ThreadSafe
5354
public final class DecompressorRegistry {
55+
static final Joiner ACCEPT_ENCODING_JOINER = Joiner.on(',');
56+
5457
public static DecompressorRegistry emptyInstance() {
5558
return new DecompressorRegistry();
5659
}

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import static com.google.common.base.Preconditions.checkArgument;
3535

3636
import com.google.common.annotations.VisibleForTesting;
37-
import com.google.common.base.Joiner;
3837
import com.google.common.base.Preconditions;
3938
import com.google.common.base.Splitter;
4039
import com.google.common.collect.ImmutableMap;
@@ -143,8 +142,6 @@ public final class GrpcUtil {
143142

144143
public static final Splitter ACCEPT_ENCODING_SPLITER = Splitter.on(',').trimResults();
145144

146-
public static final Joiner ACCEPT_ENCODING_JOINER = Joiner.on(',');
147-
148145
private static final String IMPLEMENTATION_VERION = getImplementationVersion();
149146

150147
/**

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import static com.google.common.base.Preconditions.checkArgument;
3535
import static com.google.common.base.Preconditions.checkNotNull;
3636
import static com.google.common.base.Preconditions.checkState;
37-
import static io.grpc.internal.GrpcUtil.ACCEPT_ENCODING_JOINER;
3837
import static io.grpc.internal.GrpcUtil.ACCEPT_ENCODING_SPLITER;
3938
import static io.grpc.internal.GrpcUtil.MESSAGE_ACCEPT_ENCODING_KEY;
4039
import static io.grpc.internal.GrpcUtil.MESSAGE_ENCODING_KEY;
@@ -58,7 +57,6 @@
5857
import java.io.IOException;
5958
import java.io.InputStream;
6059
import java.util.List;
61-
import java.util.Set;
6260

6361
final class ServerCallImpl<ReqT, RespT> extends ServerCall<RespT> {
6462
private final ServerStream stream;
@@ -139,9 +137,9 @@ public void sendHeaders(Metadata headers) {
139137
stream.setCompressor(compressor);
140138

141139
headers.removeAll(MESSAGE_ACCEPT_ENCODING_KEY);
142-
Set<String> acceptEncodings = decompressorRegistry.getAdvertisedMessageEncodings();
143-
if (!acceptEncodings.isEmpty()) {
144-
headers.put(MESSAGE_ACCEPT_ENCODING_KEY, ACCEPT_ENCODING_JOINER.join(acceptEncodings));
140+
String advertisedEncodings = decompressorRegistry.getRawAdvertisedMessageEncodings();
141+
if (!advertisedEncodings.isEmpty()) {
142+
headers.put(MESSAGE_ACCEPT_ENCODING_KEY, advertisedEncodings);
145143
}
146144

147145
// Don't check if sendMessage has been called, since it requires that sendHeaders was already

0 commit comments

Comments
 (0)