ResolverResult(Question question , DNSMessage answer, Set<UnverifiedReason> unverifiedReasons) throws NullResultException { if (answer == null) { throw new MiniDNSException.NullResultException(question.asMessageBuilder().build()); } this.question = question; this.responseCode = answer.responseCode; Set<D> r = answer.getAnswersFor(question); if (r == null) { this.data = Collections.emptySet(); } else { this.data = Collections.unmodifiableSet(r); } if (unverifiedReasons == null) { this.unverifiedReasons = null; isAuthenticData = false; } else { this.unverifiedReasons = Collections.unmodifiableSet(unverifiedReasons); isAuthenticData = this.unverifiedReasons.isEmpty(); } }
/** * Recursively query the DNS system for one entry. * * @param queryBuilder The query DNS message builder. * @return The response (or null on timeout/error). * @throws IOException if an IO error occurs. */ @Override protected DNSMessage query(DNSMessage.Builder queryBuilder) throws IOException { DNSMessage q = queryBuilder.build(); RecursionState recursionState = new RecursionState(this); DNSMessage message = queryRecursive(recursionState, q); return message; }
/** * Recursively query the DNS system for one entry. * * @param queryBuilder The query DNS message builder. * @return The response (or null on timeout/error). * @throws IOException if an IO error occurs. */ @Override protected DNSMessage query(DNSMessage.Builder queryBuilder) throws IOException { DNSMessage q = queryBuilder.build(); ResolutionState resolutionState = new ResolutionState(this); DNSMessage message = queryRecursive(resolutionState, q); return message; }
@Override protected Builder newQuestion(Builder message) { message.getEdnsBuilder().addEdnsOption(NSID.REQUEST); return super.newQuestion(message); } };
@Override protected DNSMessage.Builder newQuestion(DNSMessage.Builder message) { message.setRecursionDesired(false); message.getEdnsBuilder().setUdpPayloadSize(dataSource.getUdpPayloadSize()); return message; }
@Override protected DNSMessage.Builder newQuestion(DNSMessage.Builder message) { message.setRecursionDesired(false); message.getEdnsBuilder().setUdpPayloadSize(dataSource.getUdpPayloadSize()); return message; }