private static StringBuilder AppendAddresses(this StringBuilder builder, IDnsMessage response) { if (!(response is IAddressedEnvelope <IDnsMessage>)) { return(builder); } IAddressedEnvelope <IDnsMessage> envelope = (IAddressedEnvelope <IDnsMessage>)response; var addr = envelope.Sender; if (addr != null) { builder.Append("from: ") .Append(addr) .Append(", "); } addr = envelope.Recipient; if (addr != null) { builder.Append("to: ") .Append(addr) .Append(", "); } return(builder); }
private static StringBuilder AppendAllRecords(this StringBuilder builder, IDnsMessage msg) { return(builder.AppendRecords(msg, DnsSection.QUESTION) .AppendRecords(msg, DnsSection.ANSWER) .AppendRecords(msg, DnsSection.AUTHORITY) .AppendRecords(msg, DnsSection.ADDITIONAL)); }
public override bool Equals(object obj) { if (this == obj) { return(true); } if (!(obj is IDnsMessage)) { return(false); } IDnsMessage that = (IDnsMessage)obj; if (Id != that.Id) { return(false); } if (this is IDnsQuestion) { if (!(that is IDnsQuestion)) { return(false); } } else if (that is IDnsQuestion) { return(false); } return(true); }
private static StringBuilder AppendRecords(this StringBuilder builder, IDnsMessage message, DnsSection section) { int count = message.Count(section); for (int i = 0; i < count; i++) { builder.Append(Environment.NewLine) .Append('\t') .Append(message.GetRecord <IDnsRecord>(section, i)); } return(builder); }