in lib/elastic/transport/transport/base.rb [48:76]
def initialize(arguments = {}, &block)
@state_mutex = Mutex.new
@hosts = arguments[:hosts] || []
@options = arguments[:options] || {}
@options[:http] ||= {}
@options[:retry_on_status] ||= []
@options[:delay_on_retry] ||= 0
@block = block
@compression = !!@options[:compression]
@connections = __build_connections
@serializer = options[:serializer] || ( options[:serializer_class] ? options[:serializer_class].new(self) : DEFAULT_SERIALIZER_CLASS.new(self))
@protocol = options[:protocol] || DEFAULT_PROTOCOL
@logger = options[:logger]
@tracer = options[:tracer]
@sniffer = options[:sniffer_class] ? options[:sniffer_class].new(self) : Sniffer.new(self)
@counter = 0
@counter_mtx = Mutex.new
@last_request_at = Time.now
@reload_connections = options[:reload_connections]
@reload_after = options[:reload_connections].is_a?(Integer) ? options[:reload_connections] : DEFAULT_RELOAD_AFTER
@resurrect_after = options[:resurrect_after] || DEFAULT_RESURRECT_AFTER
@retry_on_status = Array(options[:retry_on_status]).map(&:to_i)
end