public override byte[] ToByteArray() { var bytes = this.SerializeCommonFields(); var qBytes = QNameSerializer.SerializeQName(this.CName); bytes.AppendIntAs2Bytes(qBytes.Count); bytes.AddRange(qBytes); return(bytes.ToArray()); }
public override byte[] ToByteArray() { var bytes = this.SerializeCommonFields(); var dnameBytes = QNameSerializer.SerializeQName(this.ExchangeDName); var numBytes = dnameBytes.Count + 2; bytes.AppendIntAs2Bytes(numBytes); bytes.AppendIntAs2Bytes(this.Preference); bytes.AddRange(dnameBytes); return(bytes.ToArray()); }
public byte[] SerializeQuestion(Question q) { if (q == null) { return(null); } var wordBytes = QNameSerializer.SerializeQName(q.QName); wordBytes.AppendIntAs2Bytes((int)q.QType + 1); wordBytes.AppendIntAs2Bytes((int)q.QClass + 1); return(wordBytes.ToArray()); }
protected List <byte> SerializeCommonFields() { var bytes = new List <byte>(); var qNameBytes = QNameSerializer.SerializeQName(this.Name); bytes.AddRange(qNameBytes); int rrTypeNum = ((int)this.GetRecordType()) + 1; bytes.AppendIntAs2Bytes(rrTypeNum); var rrClassNum = ((int)this.GetRecordClass()) + 1; bytes.AppendIntAs2Bytes(rrClassNum); bytes.AppendIntAs4Bytes(this.TimeToLive); return(bytes); }
public override byte[] ToByteArray() { var bytes = this.SerializeCommonFields(); var mnameBytes = QNameSerializer.SerializeQName(this.MName); var rnameBytes = QNameSerializer.SerializeQName(this.RName); var length = mnameBytes.Count + rnameBytes.Count + 20; bytes.AppendIntAs2Bytes(length); bytes.AddRange(mnameBytes); bytes.AddRange(rnameBytes); bytes.AppendIntAs4Bytes((int)this.Serial); bytes.AppendIntAs4Bytes(this.RefreshInterval); bytes.AppendIntAs4Bytes(this.RetryInterval); bytes.AppendIntAs4Bytes(this.ExpireInterval); bytes.AppendIntAs4Bytes((int)this.Minimum); return(bytes.ToArray()); }