using DnsClient.Protocol;
using System.Collections.Generic;
namespace DnsClient
{
///
/// Contract defining the result of a query performed by .
///
///
///
public interface IDnsQueryResponse
{
///
/// Gets the list of questions.
///
IReadOnlyList Questions { get; }
///
/// Gets a list of additional records.
///
IReadOnlyList Additionals { get; }
///
/// Gets a list of all answers, addtional and authority records.
///
IEnumerable AllRecords { get; }
///
/// Gets a list of answer records.
///
IReadOnlyList Answers { get; }
///
/// Gets a list of authority records.
///
IReadOnlyList Authorities { get; }
///
/// Gets the audit trail if . as set to true, null otherwise.
///
///
/// The audit trail.
///
string AuditTrail { get; }
///
/// Returns a string value representing the error response code in case an error occured,
/// otherwise ''.
///
string ErrorMessage { get; }
///
/// A flag indicating if the header contains a response codde other than .
///
bool HasError { get; }
///
/// Gets the header of the response.
///
DnsResponseHeader Header { get; }
///
/// Gets the size of the message.
///
///
/// The size of the message.
///
int MessageSize { get; }
///
/// Gets the name server which responded with this result.
///
///
/// The name server.
///
NameServer NameServer { get; }
///
/// Gets the settings used to produce this response.
///
DnsQuerySettings Settings { get; }
}
}