@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/1704") @ThreadSafe public final class DecompressorRegistry extends Object
Modifier and Type | Method and Description |
---|---|
static DecompressorRegistry |
emptyInstance() |
Set<String> |
getAdvertisedMessageEncodings()
Provides a list of all message encodings that have decompressors available and should be
advertised.
|
static DecompressorRegistry |
getDefaultInstance() |
Set<String> |
getKnownMessageEncodings()
Provides a list of all message encodings that have decompressors available.
|
Decompressor |
lookupDecompressor(String messageEncoding)
Returns a decompressor for the given message encoding, or
null if none has been
registered. |
DecompressorRegistry |
with(Decompressor d,
boolean advertised)
Registers a decompressor for both decompression and message encoding negotiation.
|
public static DecompressorRegistry emptyInstance()
public static DecompressorRegistry getDefaultInstance()
public DecompressorRegistry with(Decompressor d, boolean advertised)
d
- The decompressor to registeradvertised
- If true, the message encoding will be listed in the Accept-Encoding header.public Set<String> getKnownMessageEncodings()
@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/1704") public Set<String> getAdvertisedMessageEncodings()
The specification doesn't say anything about ordering, or preference, so the returned codes can be arbitrary.
@Nullable public Decompressor lookupDecompressor(String messageEncoding)
null
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.