From 41bfa1f39bfe3761992098dde4afdc0f38338c96 Mon Sep 17 00:00:00 2001 From: Vladimir Avtsenov Date: Tue, 27 Aug 2024 01:53:30 +0300 Subject: [PATCH] optimization cleanup --- records.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/records.go b/records.go index 8297b0c..11bd287 100644 --- a/records.go +++ b/records.go @@ -38,23 +38,25 @@ type Record struct { } func (r *Record) Cleanup() bool { - newARecords := make([]*ARecord, 0) + i := 0 for _, record := range r.ARecords { - if time.Now().Sub(record.Deadline).Nanoseconds() <= 0 { - newARecords = append(newARecords, record) + if time.Now().Before(record.Deadline) { + r.ARecords[i] = record + i++ } } - r.ARecords = newARecords + r.ARecords = r.ARecords[:i] - newCNameRecords := make([]*CNameRecord, 0) + i = 0 for _, record := range r.CNameRecords { - if time.Now().Sub(record.Deadline).Nanoseconds() <= 0 { - newCNameRecords = append(newCNameRecords, record) + if time.Now().Before(record.Deadline) { + r.CNameRecords[i] = record + i++ } } - r.CNameRecords = newCNameRecords + r.CNameRecords = r.CNameRecords[:i] - return len(newARecords) == 0 && len(newCNameRecords) == 0 + return len(r.ARecords) == 0 && len(r.CNameRecords) == 0 } func NewRecord(domainName string) *Record {