wait_for_message (Net::SSH::UserAuth::Driver)

    # File lib/net/ssh/userauth/driver.rb, line 91
            def wait_for_message
              loop do
                type, buffer = @session.wait_for_message

                case type
                  when USERAUTH_BANNER
                    message = buffer.read_string
                    language = buffer.read_string

                    if @log.debug?
                      @log.debug "got USERAUTH_BANNER (#{message}:#{language})"
                    end

                    @on_banner.call( message, language )

                  when USERAUTH_FAILURE
                    authentications = buffer.read_string
                    @allowed_auth_methods = authentications.split(/,/)
                    partial_success = buffer.read_bool
                    return OpenStruct.new( :message_type    => type,
                                           :authentications => authentications,
                                           :partial_success => partial_success )

                  when USERAUTH_SUCCESS
                    return OpenStruct.new( :message_type => type )

                  when SERVICE_ACCEPT
                    return OpenStruct.new( :message_type => type,
                                           :service_name => buffer.read_string )

                  # authmethod-specific codes
                  when 60..79
                    return OpenStruct.new( :message_type => type,
                                           :buffer       => buffer )

                  else
                    raise Net::SSH::Exception,
                          "unexpected message type '#{type}' (#{buffer.to_s})"
                end
              end
            end