optimization cleanup

This commit is contained in:
Vladimir Avtsenov 2024-08-27 01:53:30 +03:00
parent e780b58df1
commit 41bfa1f39b

View File

@ -38,23 +38,25 @@ type Record struct {
} }
func (r *Record) Cleanup() bool { func (r *Record) Cleanup() bool {
newARecords := make([]*ARecord, 0) i := 0
for _, record := range r.ARecords { for _, record := range r.ARecords {
if time.Now().Sub(record.Deadline).Nanoseconds() <= 0 { if time.Now().Before(record.Deadline) {
newARecords = append(newARecords, record) r.ARecords[i] = record
i++
} }
} }
r.ARecords = newARecords r.ARecords = r.ARecords[:i]
newCNameRecords := make([]*CNameRecord, 0) i = 0
for _, record := range r.CNameRecords { for _, record := range r.CNameRecords {
if time.Now().Sub(record.Deadline).Nanoseconds() <= 0 { if time.Now().Before(record.Deadline) {
newCNameRecords = append(newCNameRecords, record) 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 { func NewRecord(domainName string) *Record {