Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'providers/bundles/org.eclipse.ecf.provider.jmdns/jmdns/javax/jmdns/impl/tasks/ServiceResolver.java')
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jmdns/jmdns/javax/jmdns/impl/tasks/ServiceResolver.java101
1 files changed, 0 insertions, 101 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.jmdns/jmdns/javax/jmdns/impl/tasks/ServiceResolver.java b/providers/bundles/org.eclipse.ecf.provider.jmdns/jmdns/javax/jmdns/impl/tasks/ServiceResolver.java
deleted file mode 100644
index 2cc49e8a5..000000000
--- a/providers/bundles/org.eclipse.ecf.provider.jmdns/jmdns/javax/jmdns/impl/tasks/ServiceResolver.java
+++ /dev/null
@@ -1,101 +0,0 @@
-//Copyright 2003-2005 Arthur van Hoff, Rick Blair
-//Licensed under Apache License version 2.0
-//Original license LGPL
-
-package javax.jmdns.impl.tasks;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Timer;
-import java.util.TimerTask;
-//import java.util.logging.Level;
-//import java.util.logging.Logger;
-
-import javax.jmdns.impl.DNSConstants;
-import javax.jmdns.impl.DNSOutgoing;
-import javax.jmdns.impl.DNSQuestion;
-import javax.jmdns.impl.DNSRecord;
-import javax.jmdns.impl.DNSState;
-import javax.jmdns.impl.JmDNSImpl;
-import javax.jmdns.impl.ServiceInfoImpl;
-
-/**
- * The ServiceResolver queries three times consecutively for services of
- * a given type, and then removes itself from the timer.
- * <p/>
- * The ServiceResolver will run only if JmDNS is in state ANNOUNCED.
- * REMIND: Prevent having multiple service resolvers for the same type in the
- * timer queue.
- */
-public class ServiceResolver extends TimerTask
-{
-// static Logger logger = Logger.getLogger(ServiceResolver.class.getName());
-
- /**
- *
- */
- private final JmDNSImpl jmDNSImpl;
- /**
- * Counts the number of queries being sent.
- */
- int count = 0;
- private String type;
-
- public ServiceResolver(JmDNSImpl jmDNSImpl, String type)
- {
- this.jmDNSImpl = jmDNSImpl;
- this.type = type;
- }
-
- public void start(Timer timer)
- {
- timer.schedule(this, DNSConstants.QUERY_WAIT_INTERVAL, DNSConstants.QUERY_WAIT_INTERVAL);
- }
-
- public void run()
- {
- try
- {
- if (this.jmDNSImpl.getState() == DNSState.ANNOUNCED)
- {
- if (count++ < 3)
- {
-// logger.finer("run() JmDNS querying service");
- long now = System.currentTimeMillis();
- DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY);
- out.addQuestion(new DNSQuestion(type, DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN));
- for (Iterator s = this.jmDNSImpl.getServices().values().iterator(); s.hasNext();)
- {
- final ServiceInfoImpl info = (ServiceInfoImpl) s.next();
- try
- {
- out.addAnswer(new DNSRecord.Pointer(info.getType(), DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, info.getQualifiedName()), now);
- }
- catch (IOException ee)
- {
- break;
- }
- }
- this.jmDNSImpl.send(out);
- }
- else
- {
- // After three queries, we can quit.
- this.cancel();
- }
- }
- else
- {
- if (this.jmDNSImpl.getState() == DNSState.CANCELED)
- {
- this.cancel();
- }
- }
- }
- catch (Throwable e)
- {
-// logger.log(Level.WARNING, "run() exception ", e);
- this.jmDNSImpl.recover();
- }
- }
-} \ No newline at end of file

Back to the top