public void Deserialize(BinaryReader reader) { ID = NetworkHelper.Nthos(reader.ReadUInt16()); Flags = (DnsPacketFlags)NetworkHelper.Nthos(reader.ReadUInt16()); ushort questionCount = NetworkHelper.Nthos(reader.ReadUInt16()); ushort answerCount = NetworkHelper.Nthos(reader.ReadUInt16()); ushort authoritativeCount = NetworkHelper.Nthos(reader.ReadUInt16()); ushort additionalCount = NetworkHelper.Nthos(reader.ReadUInt16()); for (int i = 0; i < questionCount; i++) { DnsQuestion question = new DnsQuestion(); question.Deserialize(reader); Questions.Add(question); } for (int i = 0; i < answerCount; i++) { DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader); Answers.Add(record); } for (int i = 0; i < authoritativeCount; i++) { DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader); Authoritatives.Add(record); } for (int i = 0; i < additionalCount; i++) { DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader); Additionals.Add(record); } }
public void AddAdditional(DnsResourceRecord record) { if (record == null) { throw new ArgumentNullException(nameof(record)); } Additionals.Add(record); }