ping_server (Irc::Bot)

    # File lib/rbot/ircbot.rb, line 1262
      def ping_server
        act_timeout = @config['server.ping_timeout']
        return if act_timeout <= 0
        now = Time.now
        if @last_rec && now > @last_rec + act_timeout
          if @last_ping.nil?
            # No previous PING pending, send a new one
            sendq "PING :rbot"
            @last_ping = Time.now
          else
            diff = now - @last_ping
            if diff > act_timeout
              debug "no PONG from server in #{diff} seconds, reconnecting"
              # the actual reconnect is handled in the main loop:
              raise TimeoutError, "no PONG from server in #{diff} seconds"
            end
          end
        end
      end