# File lib/amq/client/async/adapter.rb, line 588
        def handle_start(connection_start)
          @server_properties                = connection_start.server_properties
          @server_capabilities              = @server_properties["capabilities"]

          @server_authentication_mechanisms = (connection_start.mechanisms || "").split(" ")
          @server_locales                   = Array(connection_start.locales)

          username = @settings[:user] || @settings[:username]
          password = @settings[:pass] || @settings[:password]

          # It's not clear whether we should transition to :opening state here
          # or in #open but in case authentication fails, it would be strange to have
          # @status undefined. So lets do this. MK.
          opening!

          self.send_frame(Protocol::Connection::StartOk.encode(@client_properties, @mechanism, self.encode_credentials(username, password), @locale))
        end