const Name … func init() { … } type writer … // SetLevel updates the registered gzip compressor to use the compression level specified (gzip.HuffmanOnly is not supported). // NOTE: this function must only be called during initialization time (i.e. in an init() function), // and is not thread-safe. // // The error returned will be nil if the specified level is valid. func SetLevel(level int) error { … } func (c *compressor) Compress(w io.Writer) (io.WriteCloser, error) { … } func (z *writer) Close() error { … } type reader … func (c *compressor) Decompress(r io.Reader) (io.Reader, error) { … } func (z *reader) Read(p []byte) (n int, err error) { … } // RFC1952 specifies that the last four bytes "contains the size of // the original (uncompressed) input data modulo 2^32." // gRPC has a max message size of 2GB so we don't need to worry about wraparound. func (c *compressor) DecompressedSize(buf []byte) int { … } func (c *compressor) Name() string { … } type compressor …