# File lib/stomp/client.rb, line 78
    def initialize(login = '', passcode = '', host = 'localhost', port = 61613, reliable = false, autoflush = false)
      parse_hash_params(login) ||
        parse_stomp_url(login) ||
        parse_failover_url(login) ||
        parse_positional_params(login, passcode, host, port, reliable)

      check_arguments!()

      @logger = @parameters[:logger] ||= Stomp::NullLogger.new

      @start_timeout = @parameters[:start_timeout] || 10
      begin
        timeout(@start_timeout) {
          create_error_handler
          create_connection(autoflush)
          start_listeners()
        }
      rescue TimeoutError
        ex = Stomp::Error::StartTimeoutException.new(@start_timeout)
        raise ex
      end
    end