Package io.grpc
Class DecompressorRegistry
- java.lang.Object
-
- io.grpc.DecompressorRegistry
-
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1704") @ThreadSafe public final class DecompressorRegistry extends java.lang.Object
Encloses classes related to the compression and decompression of messages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
DecompressorRegistry.DecompressorInfo
Information about a decompressor.
-
Field Summary
Fields Modifier and Type Field Description (package private) static com.google.common.base.Joiner
ACCEPT_ENCODING_JOINER
private byte[]
advertisedDecompressors
private java.util.Map<java.lang.String,DecompressorRegistry.DecompressorInfo>
decompressors
private static DecompressorRegistry
DEFAULT_INSTANCE
-
Constructor Summary
Constructors Modifier Constructor Description private
DecompressorRegistry()
private
DecompressorRegistry(Decompressor d, boolean advertised, DecompressorRegistry parent)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DecompressorRegistry
emptyInstance()
java.util.Set<java.lang.String>
getAdvertisedMessageEncodings()
Provides a list of all message encodings that have decompressors available and should be advertised.static DecompressorRegistry
getDefaultInstance()
java.util.Set<java.lang.String>
getKnownMessageEncodings()
Provides a list of all message encodings that have decompressors available.(package private) byte[]
getRawAdvertisedMessageEncodings()
Decompressor
lookupDecompressor(java.lang.String messageEncoding)
Returns a decompressor for the given message encoding, ornull
if none has been registered.DecompressorRegistry
with(Decompressor d, boolean advertised)
Registers a decompressor for both decompression and message encoding negotiation.
-
-
-
Field Detail
-
ACCEPT_ENCODING_JOINER
static final com.google.common.base.Joiner ACCEPT_ENCODING_JOINER
-
DEFAULT_INSTANCE
private static final DecompressorRegistry DEFAULT_INSTANCE
-
decompressors
private final java.util.Map<java.lang.String,DecompressorRegistry.DecompressorInfo> decompressors
-
advertisedDecompressors
private final byte[] advertisedDecompressors
-
-
Constructor Detail
-
DecompressorRegistry
private DecompressorRegistry(Decompressor d, boolean advertised, DecompressorRegistry parent)
-
DecompressorRegistry
private DecompressorRegistry()
-
-
Method Detail
-
emptyInstance
public static DecompressorRegistry emptyInstance()
-
getDefaultInstance
public static DecompressorRegistry getDefaultInstance()
-
with
public DecompressorRegistry with(Decompressor d, boolean advertised)
Registers a decompressor for both decompression and message encoding negotiation. Returns a new registry.- Parameters:
d
- The decompressor to registeradvertised
- If true, the message encoding will be listed in the Accept-Encoding header.
-
getKnownMessageEncodings
public java.util.Set<java.lang.String> getKnownMessageEncodings()
Provides a list of all message encodings that have decompressors available.
-
getRawAdvertisedMessageEncodings
byte[] getRawAdvertisedMessageEncodings()
-
getAdvertisedMessageEncodings
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1704") public java.util.Set<java.lang.String> getAdvertisedMessageEncodings()
Provides a list of all message encodings that have decompressors available and should be advertised.The specification doesn't say anything about ordering, or preference, so the returned codes can be arbitrary.
-
lookupDecompressor
@Nullable public Decompressor lookupDecompressor(java.lang.String messageEncoding)
Returns a decompressor for the given message encoding, ornull
if none has been registered.This ignores whether the compressor is advertised. According to the spec, if we know how to process this encoding, we attempt to, regardless of whether or not it is part of the encodings sent to the remote host.
-
-