From b623c9a9c95c4c71717ae9900ba87fc90725b2c2 Mon Sep 17 00:00:00 2001 From: Vladimir Avtsenov Date: Fri, 6 Sep 2024 06:34:52 +0300 Subject: [PATCH] list known domains --- records.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/records.go b/records.go index 11bd287..31c4cc6 100644 --- a/records.go +++ b/records.go @@ -243,6 +243,22 @@ func (r *Records) PutARecord(domainName string, addr net.IP, ttl time.Duration) record.ARecords = append(record.ARecords, NewARecord(addr, time.Now().Add(ttl))) } +func (r *Records) ListKnownDomains() []string { + r.mutex.Lock() + defer r.mutex.Unlock() + + domains := make([]string, 0) + for name, record := range r.Records { + if record.Cleanup() { + delete(r.Records, name) + continue + } + domains = append(domains, name) + } + + return domains +} + func (r *Records) Cleanup() { r.mutex.Lock() defer r.mutex.Unlock()