'Make a number of DNS queries via TCP.
@type queries: Any non-zero number of C{dns.Query} instances
@param queries: The queries to make.
@type timeout: C{int}
@param timeout: The number of seconds after which to fail.
@rtype: C{Deferred}'

def queryTCP(self, queries, timeout=10):

    if (not len(self.connections)):
        address = self.pickServer()
        if (address is None):
            return defer.fail(IOError('No    domain    name    servers    available'))
        (host, port) = address
        self._reactor.connectTCP(host, port, self.factory)
        self.pending.append((defer.Deferred(), queries, timeout))
        return self.pending[(-1)][0]
    else:
        return self.connections[0].query(queries, timeout)
