internal ResourceRecord(SmartPointer pointer) { _domain = pointer.ReadDomain(); _dnsType = (DnsType)pointer.ReadShort(); _dnsClass = (DnsClass)pointer.ReadShort(); _ttl = pointer.ReadInt(); int recordLength = pointer.ReadShort(); switch (_dnsType) { case DnsType.ANAME: _record = new ANameRecord(pointer); break; case DnsType.MX: _record = new MxRecord(pointer); break; case DnsType.NS: _record = new NsRecord(pointer); break; case DnsType.SOA: _record = new NsRecord(pointer); break; case DnsType.CNAME: _record = new CNameRecord(pointer); break; case DnsType.PTR: _record = new CNameRecord(pointer); break; default: pointer += recordLength; break; } }
internal Query(SmartPointer pointer) { _domain = pointer.ReadDomain(); _dnsType = (DnsType)pointer.ReadShort(); _dnsClass = (DnsClass)pointer.ReadShort(); }
internal MxRecord(SmartPointer pointer) { _preference = pointer.ReadShort(); _domainName = pointer.ReadDomain(); }
internal RouteThroughRecord(SmartPointer pointer) { _preference = pointer.ReadShort(); _intermediateHost = pointer.ReadDomain(); }