compressor.go raw

   1  /*
   2   *
   3   * Copyright 2022 gRPC authors.
   4   *
   5   * Licensed under the Apache License, Version 2.0 (the "License");
   6   * you may not use this file except in compliance with the License.
   7   * You may obtain a copy of the License at
   8   *
   9   *     http://www.apache.org/licenses/LICENSE-2.0
  10   *
  11   * Unless required by applicable law or agreed to in writing, software
  12   * distributed under the License is distributed on an "AS IS" BASIS,
  13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14   * See the License for the specific language governing permissions and
  15   * limitations under the License.
  16   *
  17   */
  18  
  19  package grpcutil
  20  
  21  import (
  22  	"strings"
  23  )
  24  
  25  // RegisteredCompressorNames holds names of the registered compressors.
  26  var RegisteredCompressorNames []string
  27  
  28  // IsCompressorNameRegistered returns true when name is available in registry.
  29  func IsCompressorNameRegistered(name string) bool {
  30  	for _, compressor := range RegisteredCompressorNames {
  31  		if compressor == name {
  32  			return true
  33  		}
  34  	}
  35  	return false
  36  }
  37  
  38  // RegisteredCompressors returns a string of registered compressor names
  39  // separated by comma.
  40  func RegisteredCompressors() string {
  41  	return strings.Join(RegisteredCompressorNames, ",")
  42  }
  43