module Protobuf

def self.connector_type

during client requests to an RPC server.
Symbol value which denotes the type of connector to use

Default: socket

Connector Type
def self.connector_type
  @connector_type ||= DEFAULT_CONNECTOR
end

def self.connector_type=(type)

def self.connector_type=(type)
  fail ArgumentError, 'Invalid connector type given' unless CONNECTORS.include?(type)
  @connector_type = type
end

def self.deprecator

def self.deprecator
  @deprecator ||= Deprecation.new('4.0', to_s).tap do |deprecation|
    deprecation.silenced = ENV.key?('PB_IGNORE_DEPRECATIONS')
    deprecation.behavior = :stderr
  end
end

def self.field_deprecator

def self.field_deprecator
  @field_deprecator ||= FieldDeprecation.new.tap do |deprecation|
    deprecation.silenced = ENV.key?('PB_IGNORE_DEPRECATIONS')
    deprecation.behavior = :stderr
  end
end

def self.gc_pause_server_request=(value)

def self.gc_pause_server_request=(value)
  @gc_pause_server_request = !!value
end

def self.gc_pause_server_request?

This optomization provides a huge boost in speed to rpc requests.
Once the request is completed, the GC is enabled again.
the Garbage Collector when handling an rpc request.
Boolean value to tell the server to disable

Default: false

GC Pause during server requests
def self.gc_pause_server_request?
  return @gc_pause_server_request unless @gc_pause_server_request.nil?
  self.gc_pause_server_request = false
end

def self.ignore_unknown_fields=(value)

def self.ignore_unknown_fields=(value)
  @ignore_unknown_fields = !!value
end

def self.ignore_unknown_fields?

on Message intialization; otherwise a ::Protobuf::FieldNotDefinedError is thrown.
Simple boolean to define whether we want to permit unknown fields

Default: true

Permit unknown field on Message initialization
def self.ignore_unknown_fields?
  !defined?(@ignore_unknown_fields) || @ignore_unknown_fields
end

def self.print_deprecation_warnings=(value)

def self.print_deprecation_warnings=(value)
  field_deprecator.silenced = !value
end

def self.print_deprecation_warnings?

The rpc_server option will override the ENV setting.

ENV['PB_IGNORE_DEPRECATIONS'] to a non-empty value.
explicitly, or you can turn this option off by setting
be printed to stderr or not. The rpc_server has an option to set this value
Simple boolean to define whether we want field deprecation warnings to

Default: true

Print Deprecation Warnings
def self.print_deprecation_warnings?
  !field_deprecator.silenced
end

def define_deprecated_methods(target_module, method_hash)

def define_deprecated_methods(target_module, method_hash)
  target_module.module_eval do
    method_hash.each do |old_method, new_method|
      alias_method old_method, new_method
    end
  end
  deprecate_methods(target_module, method_hash)
end

def deprecate_method(target_module, method_name)

def deprecate_method(target_module, method_name)
  deprecate_methods(target_module, method_name => target_module)
end

def deprecated_method_warning(method_name, target_module)

def deprecated_method_warning(method_name, target_module)
  "#{target_module.name}##{method_name} field usage is deprecated"
end

def new(deprecation_horizon = nil, *)

def new(deprecation_horizon = nil, *)
  self.deprecation_horizon = deprecation_horizon if deprecation_horizon
  self
end