private final void gotResult(DNSMessage result) { if (onResponseCallback != null) { onResponseCallback.onResponse(request, result); } asyncNds.finished(this); future.setResult(result); }
@IntegrationTest public static void shouldRequireLessQueries() throws IOException { DNSSECClient normalCacheClient = getClient(CacheConfig.normal); DNSSECMessage normalCacheResult = normalCacheClient.queryDnssec(DNSSEC_DOMAIN, RR_TYPE); assertTrue(normalCacheResult.authenticData); NetworkDataSourceWithAccounting normalCacheNdswa = NetworkDataSourceWithAccounting.from(normalCacheClient); DNSSECClient extendedCacheClient = getClient(CacheConfig.extended); DNSSECMessage extendedCacheResult = extendedCacheClient.queryDnssec(DNSSEC_DOMAIN, RR_TYPE); assertTrue(extendedCacheResult.authenticData); NetworkDataSourceWithAccounting extendedCacheNdswa = NetworkDataSourceWithAccounting.from(extendedCacheClient); assertTrue(normalCacheNdswa.getStats().successfulQueries > extendedCacheNdswa.getStats().successfulQueries); }
@Override protected DNSMessage.Builder newQuestion(DNSMessage.Builder message) { message.setRecursionDesired(false); message.getEdnsBuilder().setUdpPayloadSize(dataSource.getUdpPayloadSize()); return message; }
public static DNSSECClient getClient(CacheConfig cacheConfig) { DNSCache cache; switch (cacheConfig) { case without: cache = null; break; case normal: cache = new LRUCache(1024); break; case extended: cache = new ExtendedLRUCache(1024); break; case full: cache = new FullLRUCache(1024); break; default: throw new IllegalStateException(); } DNSSECClient client = new DNSSECClient(cache); client.setDataSource(new NetworkDataSourceWithAccounting()); return client; }
@Override protected DNSMessage.Builder newQuestion(DNSMessage.Builder message) { message.setRecursionDesired(false); message.getEdnsBuilder().setUdpPayloadSize(dataSource.getUdpPayloadSize()); return message; }