validateCachedProxies method

Future<void> validateCachedProxies()

Validates cached proxies in the background

Implementation

Future<void> validateCachedProxies() async {
  if (_isValidating) return;

  _isValidating = true;

  try {
    // Get proxies from primary cache first
    final primaryProxies = _cacheManager.getProxiesFromTier(
      CacheTier.primary,
    );

    // Validate primary proxies
    await _validateProxies(primaryProxies);

    // Get proxies from secondary cache
    final secondaryProxies = _cacheManager.getProxiesFromTier(
      CacheTier.secondary,
    );

    // Validate a subset of secondary proxies
    final secondarySubset = secondaryProxies.take(20).toList();
    await _validateProxies(secondarySubset);

    // Get proxies from tertiary cache
    final tertiaryProxies = _cacheManager.getProxiesFromTier(
      CacheTier.tertiary,
    );

    // Validate a small subset of tertiary proxies
    final tertiarySubset = tertiaryProxies.take(10).toList();
    await _validateProxies(tertiarySubset);
  } finally {
    _isValidating = false;
  }
}