def stats(reset = false)
      raise RuntimeError, "#{self.class.name}#init was not called" unless @auth
      stats = {}
      stats["auth stats"] = @auth.stats(reset)
      stats["router stats"] = @router.stats(reset)
      stats["api stats"] = @api.stats(reset) if @api
      stats
    end
def stats(reset = false)
      raise RuntimeError, "#{self.class.name}#init was not called" unless @auth
      stats = {}
      stats["auth stats"] = @auth.stats(reset)
      stats["router stats"] = @router.stats(reset)
      stats["api stats"] = @api.stats(reset) if @api
      stats
    end
Current statistics for this client

 @param [Boolean] reset the statistics after getting the current ones

 @return [Hash] current statistics with keys "auth client stats", "router client stats",
   and optionally "api client stats"

 @raise [RuntimeError] init was not called