36 lines
687 B
Go

package dnsexit_manager
import dns "git.uoc.run.place/OxFF/dns-manager"
type RecordSet struct {
records map[dns.Record]struct{}
}
func NewRecordSet() *RecordSet {
return &RecordSet{
records: make(map[dns.Record]struct{}),
}
}
func (s *RecordSet) Add(record *dns.Record) {
s.records[*record] = struct{}{}
}
func (s *RecordSet) Remove(record dns.Record) {
delete(s.records, record)
}
func (s *RecordSet) Contains(record *dns.Record) bool {
_, exists := s.records[*record]
return exists
}
func (s *RecordSet) List() *[]dns.Record {
records := make([]dns.Record, 0, len(s.records))
for record := range s.records {
records = append(records, record)
}
return &records
}