func (ds *DNSServer) GetA(fqdn string) *dns.A {
	ds.aMutex.RLock()
	defer ds.aMutex.RUnlock()
	val, ok := ds.aRecords[fqdn]

	if ok {
		return &dns.A{
			Hdr: dns.RR_Header{
				Name:   fqdn,
				Rrtype: dns.TypeA,
				Class:  dns.ClassINET,
				// 0 TTL results in UB for DNS resolvers and generally causes problems.
				Ttl: 1,
			},
			A: val,
		}
	}

	return nil
}
func (ds *DNSServer) GetA(fqdn string) *dns.A {
	ds.aMutex.RLock()
	defer ds.aMutex.RUnlock()
	val, ok := ds.aRecords[fqdn]

	if ok {
		return &dns.A{
			Hdr: dns.RR_Header{
				Name:   fqdn,
				Rrtype: dns.TypeA,
				Class:  dns.ClassINET,
				
				Ttl: 1,
			},
			A: val,
		}
	}

	return nil
}
func ( ds * DNSServer ) GetA ( fqdn string ) * dns . A { ds . aMutex . RLock ( ) defer ds . aMutex . RUnlock ( ) val , ok := ds . aRecords [ fqdn ] if ok { return & dns . A { Hdr : dns . RR_Header { Name : fqdn , Rrtype : dns . TypeA , Class : dns . ClassINET , // 0 TTL results in UB for DNS resolvers and generally causes problems. Ttl : 1 , } , A : val , } } return nil }
// Receives a FQDN; looks up and supplies the A record.
Receives a FQDN ; looks up and supplies the A record .