# File lib/pry-remote-em/client/generic.rb, line 47
      def receive_banner(name, version, scheme)
        log.info("[pry-remote-em] remote is #{name} #{version} #{scheme}")
        client_ver = Gem::Version.new(PryRemoteEm::VERSION)
        server_req = Gem::Requirement.new("~>#{version}")
        server_ver = Gem::Version.new(version)
        client_req = Gem::Requirement.new("~>#{PryRemoteEm::VERSION}")
        unless server_req.satisfied_by?(client_ver) || client_req.satisfied_by?(server_ver)
          fail("[pry-remote-em] incompatible version #{PryRemoteEm::VERSION}")
          return false
        end
        if scheme.nil? || scheme != (reqscheme = opts[:tls] ? 'pryems' : 'pryem')
          if scheme == 'pryems' && defined?(::OpenSSL)
            opts[:tls] = true
          else
            fail("[pry-remote-em] server doesn't support required scheme #{reqscheme.dump}")
            return false
          end
        end
        @negotiated = true
        @nego_timer.cancel
        true
      end