public void DoMaintenance() { foreach (CacheZone zone in _root) { zone.RemoveExpiredRecords(); if (zone.IsEmpty) { _root.TryRemove(zone.Name, out _); //remove empty zone } } }
public override void RemoveExpiredRecords() { bool serveStale = _dnsServer.ServeStale; foreach (CacheZone zone in _root) { zone.RemoveExpiredRecords(serveStale); if (zone.IsEmpty) { _root.TryRemove(zone.Name, out _); //remove empty zone } } }
public bool DeleteZone(string domain) { if (_root.TryRemove(domain, out AuthZone authZone)) { authZone.Dispose(); return(true); } return(false); }
public bool DeleteZone(string domain) { if (_root.TryRemove(domain, out AuthZone authZone)) { authZone.Dispose(); if (!(authZone is SubDomainZone)) { _totalZones--; } return(true); } return(false); }