def initialize(*args)
super(*args)
self.logger = self.class.logger
@frames = Array.new
@channels = Hash.new
@callbacks = Hash.new
opening!
@tcp_connection_established = false
@tcp_connection_failed = false
@intentionally_closing_connection = false
@settings = Settings.configure(args.first)
@on_tcp_connection_failure = @settings[:on_tcp_connection_failure] || Proc.new { |settings|
raise self.class.tcp_connection_failure_exception_class.new(settings)
}
@on_possible_authentication_failure = @settings[:on_possible_authentication_failure] || Proc.new { |settings|
raise self.class.authentication_failure_exception_class.new(settings)
}
@mechanism = "PLAIN"
@locale = @settings.fetch(:locale, "en_GB")
@client_properties = Settings.client_properties.merge(@settings.fetch(:client_properties, Hash.new))
@auto_recovery = (!!@settings[:auto_recovery])
self.reset
self.set_pending_connect_timeout((@settings[:timeout] || 3).to_f) unless defined?(JRUBY_VERSION)
if self.heartbeat_interval > 0
self.initialize_heartbeat_sender
end
end