Class DNSTask

java.lang.Object
java.util.TimerTask
javax.jmdns.impl.tasks.DNSTask
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
DNSResolverTask, DNSStateTask, RecordReaper, Responder

public abstract class DNSTask extends TimerTask
This is the root class for all task scheduled by the timer in JmDNS.
  • Field Details

    • _jmDNSImpl

      private final JmDNSImpl _jmDNSImpl
  • Constructor Details

    • DNSTask

      protected DNSTask(JmDNSImpl jmDNSImpl)
      Parameters:
      jmDNSImpl -
  • Method Details

    • getDns

      public JmDNSImpl getDns()
      Return the DNS associated with this task.
      Returns:
      associated DNS
    • start

      public abstract void start(Timer timer)
      Start this task.
      Parameters:
      timer - task timer.
    • getName

      public abstract String getName()
      Return this task name.
      Returns:
      task name
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • addQuestion

      public DNSOutgoing addQuestion(DNSOutgoing out, DNSQuestion rec) throws IOException
      Add a question to the message.
      Parameters:
      out - outgoing message
      rec - DNS question
      Returns:
      outgoing message for the next question
      Throws:
      IOException
    • addAnswer

      public DNSOutgoing addAnswer(DNSOutgoing out, DNSIncoming in, DNSRecord rec) throws IOException
      Add an answer if it is not suppressed.
      Parameters:
      out - outgoing message
      in - incoming request
      rec - DNS record answer
      Returns:
      outgoing message for the next answer
      Throws:
      IOException
    • addAnswer

      public DNSOutgoing addAnswer(DNSOutgoing out, DNSRecord rec, long now) throws IOException
      Add an answer to the message.
      Parameters:
      out - outgoing message
      rec - DNS record answer
      now -
      Returns:
      outgoing message for the next answer
      Throws:
      IOException
    • addAuthoritativeAnswer

      public DNSOutgoing addAuthoritativeAnswer(DNSOutgoing out, DNSRecord rec) throws IOException
      Add an authoritative answer to the message.
      Parameters:
      out - outgoing message
      rec - DNS record answer
      Returns:
      outgoing message for the next answer
      Throws:
      IOException
    • addAdditionalAnswer

      public DNSOutgoing addAdditionalAnswer(DNSOutgoing out, DNSIncoming in, DNSRecord rec) throws IOException
      Add an additional answer to the record. Omit if there is no room.
      Parameters:
      out - outgoing message
      in - incoming request
      rec - DNS record answer
      Returns:
      outgoing message for the next answer
      Throws:
      IOException