module Protobuf
def self.connector_type
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?
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?
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?
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