Class DNSTask

  • All Implemented Interfaces:
    java.lang.Runnable
    Direct Known Subclasses:
    DNSResolverTask, DNSStateTask, RecordReaper, Responder

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

      • _jmDNSImpl

        private final JmDNSImpl _jmDNSImpl
    • Constructor Detail

      • DNSTask

        protected DNSTask​(JmDNSImpl jmDNSImpl)
        Parameters:
        jmDNSImpl -
    • Method Detail

      • getDns

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

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

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

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

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

        public DNSOutgoing addAnswer​(DNSOutgoing out,
                                     DNSIncoming in,
                                     DNSRecord rec)
                              throws java.io.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:
        java.io.IOException
      • addAnswer

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

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

        public DNSOutgoing addAdditionalAnswer​(DNSOutgoing out,
                                               DNSIncoming in,
                                               DNSRecord rec)
                                        throws java.io.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:
        java.io.IOException