@Override public synchronized DNSMessage get(Question q) { DNSMessage message = backend.get(q); if (message == null) { missCount++; return null; } long ttl = maxTTL; for (Record r : message.getAnswers()) { ttl = Math.min(ttl, r.ttl); } for (Record r : message.getAdditionalResourceRecords()) { ttl = Math.min(ttl, r.ttl); } if (message.getReceiveTimestamp() + ttl > System.currentTimeMillis()) { missCount++; expireCount++; backend.remove(q); return null; } else { hitCount++; return message; } }
return null; for (Record record : dnsMessage.getAnswers()) { if (record.isAnswer(q)) { if (cache != null) {
continue; for (Record record: message.getAnswers()) { if (record.isAnswer(q)) { return message;