/** * {@inheritDoc} */ @Override public void unregisterService(ServiceInfo infoAbstract) { final ServiceInfoImpl info = (ServiceInfoImpl) _services.get(infoAbstract.getKey()); if (info != null) { info.cancelState(); this.startCanceler(); info.waitForCanceled(DNSConstants.CLOSE_TIMEOUT); _services.remove(info.getKey(), info); if (logger.isLoggable(Level.FINE)) { logger.fine("unregisterService() JmDNS unregistered service as " + info); } } else { logger.warning("Removing unregistered service info: " + infoAbstract.getKey()); } }
/** * {@inheritDoc} */ @Override public void unregisterService(ServiceInfo infoAbstract) { final ServiceInfoImpl info = (ServiceInfoImpl) _services.get(infoAbstract.getKey()); if (info != null) { info.cancelState(); this.startCanceler(); info.waitForCanceled(DNSConstants.CLOSE_TIMEOUT); _services.remove(info.getKey(), info); if (logger.isLoggable(Level.FINE)) { logger.fine("unregisterService() JmDNS unregistered service as " + info); } } else { logger.warning("Removing unregistered service info: " + infoAbstract.getKey()); } }
/** * {@inheritDoc} */ @Override public void unregisterService(ServiceInfo infoAbstract) { final ServiceInfoImpl info = (ServiceInfoImpl) _services.get(infoAbstract.getKey()); if (info != null) { info.cancelState(); this.startCanceler(); info.waitForCanceled(DNSConstants.CLOSE_TIMEOUT); _services.remove(info.getKey(), info); if (logger.isLoggable(Level.FINE)) { logger.fine("unregisterService() JmDNS unregistered service as " + info); } } else { logger.warning("Removing unregistered service info: " + infoAbstract.getKey()); } }
/** * {@inheritDoc} */ @Override public void unregisterService(ServiceInfo infoAbstract) { final ServiceInfoImpl info = (ServiceInfoImpl) _services.get(infoAbstract.getKey()); if (info != null) { info.cancelState(); this.startCanceler(); info.waitForCanceled(DNSConstants.CLOSE_TIMEOUT); _services.remove(info.getKey(), info); logger.debug("unregisterService() JmDNS {} unregistered service as {}", this.getName(), info); } else { logger.warn("{} removing unregistered service info: {}", this.getName(), infoAbstract.getKey()); } }
final String originalQualifiedName = info.getKey(); final long now = System.currentTimeMillis(); for (DNSEntry dnsEntry : this.getCache().getDNSEntryList(info.getKey())) { if (DNSRecordType.TYPE_SRV.equals(dnsEntry.getRecordType()) && !dnsEntry.isExpired(now)) { final DNSRecord.Service s = (DNSRecord.Service) dnsEntry; final ServiceInfo selfService = _services.get(info.getKey()); if (selfService != null && selfService != info) { info.setName(incrementName(info.getName())); return !(originalQualifiedName.equals(info.getKey()));
final String originalQualifiedName = info.getKey(); final long now = System.currentTimeMillis(); for (DNSEntry dnsEntry : this.getCache().getDNSEntryList(info.getKey())) { if (DNSRecordType.TYPE_SRV.equals(dnsEntry.getRecordType()) && !dnsEntry.isExpired(now)) { final DNSRecord.Service s = (DNSRecord.Service) dnsEntry; final ServiceInfo selfService = _services.get(info.getKey()); if (selfService != null && selfService != info) { info.setName(incrementName(info.getName())); return !(originalQualifiedName.equals(info.getKey()));
final String originalQualifiedName = info.getKey(); final long now = System.currentTimeMillis(); Collection<? extends DNSEntry> entryList = this.getCache().getDNSEntryList(info.getKey()); if (entryList != null) { for (DNSEntry dnsEntry : entryList) { final ServiceInfo selfService = _services.get(info.getKey()); if (selfService != null && selfService != info) { info.setName(incrementName(info.getName())); return !(originalQualifiedName.equals(info.getKey()));
/** * {@inheritDoc} */ @Override public void registerService(ServiceInfo infoAbstract) throws IOException { if (this.isClosing() || this.isClosed()) { throw new IllegalStateException("This DNS is closed."); } final ServiceInfoImpl info = (ServiceInfoImpl) infoAbstract; if (info.getDns() != null) { if (info.getDns() != this) { throw new IllegalStateException("A service information can only be registered with a single instamce of JmDNS."); } else if (_services.get(info.getKey()) != null) { throw new IllegalStateException("A service information can only be registered once."); } } info.setDns(this); this.registerServiceType(info.getTypeWithSubtype()); // bind the service to this address info.recoverState(); info.setServer(_localHost.getName()); info.addAddress(_localHost.getInet4Address()); info.addAddress(_localHost.getInet6Address()); this.makeServiceNameUnique(info); while (_services.putIfAbsent(info.getKey(), info) != null) { this.makeServiceNameUnique(info); } this.startProber(); logger.debug("registerService() JmDNS registered service as {}", info); }
final String originalQualifiedName = info.getKey(); final long now = System.currentTimeMillis(); for (DNSEntry dnsEntry : this.getCache().getDNSEntryList(info.getKey())) { if (DNSRecordType.TYPE_SRV.equals(dnsEntry.getRecordType()) && !dnsEntry.isExpired(now)) { final DNSRecord.Service s = (DNSRecord.Service) dnsEntry; final ServiceInfo selfService = _services.get(info.getKey()); if (selfService != null && selfService != info) { info.setName(NameRegister.Factory.getRegistry().incrementName(_localHost.getInetAddress(), info.getName(), NameRegister.NameType.SERVICE)); return !(originalQualifiedName.equals(info.getKey()));
if (info.getDns() != this) { throw new IllegalStateException("A service information can only be registered with a single instamce of JmDNS."); } else if (_services.get(info.getKey()) != null) { throw new IllegalStateException("A service information can only be registered once."); while (_services.putIfAbsent(info.getKey(), info) != null) { this.makeServiceNameUnique(info);
if (info.getDns() != this) { throw new IllegalStateException("A service information can only be registered with a single instamce of JmDNS."); } else if (_services.get(info.getKey()) != null) { throw new IllegalStateException("A service information can only be registered once."); while (_services.putIfAbsent(info.getKey(), info) != null) { this.makeServiceNameUnique(info);
/** * {@inheritDoc} */ @Override public void registerService(ServiceInfo infoAbstract) throws IOException { if (this.isClosing() || this.isClosed()) { throw new IllegalStateException("This DNS is closed."); } final ServiceInfoImpl info = (ServiceInfoImpl) infoAbstract; if ((info.getDns() != null) && (info.getDns() != this)) { throw new IllegalStateException("This service information is already registered with another DNS."); } info.setDns(this); this.registerServiceType(info.getTypeWithSubtype()); // bind the service to this address info.setServer(_localHost.getName()); info.addAddress(_localHost.getInet4Address()); info.addAddress(_localHost.getInet6Address()); this.waitForAnnounced(DNSConstants.SERVICE_INFO_TIMEOUT); this.makeServiceNameUnique(info); while (_services.putIfAbsent(info.getKey(), info) != null) { this.makeServiceNameUnique(info); } this.startProber(); info.waitForAnnounced(DNSConstants.SERVICE_INFO_TIMEOUT); if (logger.isLoggable(Level.FINE)) { logger.fine("registerService() JmDNS registered service as " + info); } }