Heijden.DNS.Resolver.GetResponse C# (CSharp) Method

GetResponse() private method

private GetResponse ( Heijden.DNS.DNSRequest request, List dnsServers, int timeout ) : Heijden.DNS.DNSResponse
request Heijden.DNS.DNSRequest
dnsServers List
timeout int
return Heijden.DNS.DNSResponse
        private DNSResponse GetResponse(DNSRequest request, List<IPEndPoint> dnsServers, int timeout)
        {
            request.header.ID = m_Unique;
            request.header.RD = m_Recursion;
            DNSResponse response = null;

            if (m_TransportType == TransportType.Udp)
            {
                response = UdpRequest(request, dnsServers, timeout);
            }

            if (m_TransportType == TransportType.Tcp)
            {
                response = TcpRequest(request, dnsServers, timeout);
            }

            if (response == null)
            {
                response = new DNSResponse();
                response.Error = "Unknown TransportType";
            }

            Question question = request.Questions[0];
            string questionKey = question.QClass + "-" + question.QType + "-" + question.QName;
            AddToCache(response, questionKey);

            return response;
        }