/** * Does the necessary actions, when this as a response. */ @Override boolean handleResponse(JmDNSImpl dns) { DNSRecord.Address dnsAddress = dns.getLocalHost().getDNSAddressRecord(this.getRecordType(), this.isUnique(), DNSConstants.DNS_TTL); if (dnsAddress != null) { if (dnsAddress.sameType(this) && dnsAddress.sameName(this) && (!dnsAddress.sameValue(this))) { logger1.finer("handleResponse() Denial detected"); if (dns.isProbing()) { dns.getLocalHost().incrementHostName(); dns.getCache().clear(); for (ServiceInfo serviceInfo : dns.getServices().values()) { ServiceInfoImpl info = (ServiceInfoImpl) serviceInfo; info.revertState(); } } dns.revertState(); return true; } } return false; }
/** * Does the necessary actions, when this as a query. */ @Override boolean handleQuery(JmDNSImpl dns, long expirationTime) { DNSRecord.Address dnsAddress = dns.getLocalHost().getDNSAddressRecord(this.getRecordType(), this.isUnique(), DNSConstants.DNS_TTL); if (dnsAddress != null) { if (dnsAddress.sameType(this) && dnsAddress.sameName(this) && (!dnsAddress.sameValue(this))) { logger1.finer("handleQuery() Conflicting probe detected. lex compare " + compareTo(dnsAddress)); // Tie-breaker test if (dns.isProbing() && compareTo(dnsAddress) >= 0) { // We lost the tie-break. We have to choose a different name. dns.getLocalHost().incrementHostName(); dns.getCache().clear(); for (ServiceInfo serviceInfo : dns.getServices().values()) { ServiceInfoImpl info = (ServiceInfoImpl) serviceInfo; info.revertState(); } } dns.revertState(); return true; } } return false; }
public boolean conflictWithRecord(DNSRecord.Address record) { DNSRecord.Address hostAddress = this.getDNSAddressRecord(record.getRecordType(), record.isUnique(), DNSConstants.DNS_TTL); if (hostAddress != null) { return hostAddress.sameType(record) && hostAddress.sameName(record) && (!hostAddress.sameValue(record)); } return false; }
public boolean conflictWithRecord(DNSRecord.Address record) { DNSRecord.Address hostAddress = this.getDNSAddressRecord(record.getRecordType(), record.isUnique(), DNSConstants.DNS_TTL); if (hostAddress != null) { return hostAddress.sameType(record) && hostAddress.sameName(record) && (!hostAddress.sameValue(record)); } return false; }
public boolean conflictWithRecord(DNSRecord.Address record) { DNSRecord.Address hostAddress = this.getDNSAddressRecord(record.getRecordType(), record.isUnique(), DNSConstants.DNS_TTL); if (hostAddress != null) { return hostAddress.sameType(record) && hostAddress.sameName(record) && (!hostAddress.sameValue(record)); } return false; }