Class DNSStateTask

  • All Implemented Interfaces:
    java.lang.Runnable
    Direct Known Subclasses:
    Announcer, Canceler, Prober, Renewer

    public abstract class DNSStateTask
    extends DNSTask
    This is the root class for all state tasks. These tasks work with objects that implements the DNSStatefulObject interface and therefore participate in the state machine.
    Author:
    Pierre Frisch
    • Constructor Detail

      • DNSStateTask

        public DNSStateTask​(JmDNSImpl jmDNSImpl,
                            int ttl)
        Parameters:
        jmDNSImpl -
        ttl -
    • Method Detail

      • getTaskDescription

        public abstract java.lang.String getTaskDescription()
      • defaultTTL

        public static int defaultTTL()
      • setDefaultTTL

        public static void setDefaultTTL​(int value)
        For testing only do not use in production.
        Parameters:
        value -
      • getTTL

        public int getTTL()
        Returns:
        the ttl
      • associate

        protected void associate​(DNSState state)
        Associate the DNS host and the service infos with this task if not already associated and in the same state.
        Parameters:
        state - target state
      • removeAssociation

        protected void removeAssociation()
        Remove the DNS host and service info association with this task.
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Specified by:
        run in class java.util.TimerTask
      • checkRunCondition

        protected abstract boolean checkRunCondition()
      • buildOutgoingForDNS

        protected abstract DNSOutgoing buildOutgoingForDNS​(DNSOutgoing out)
                                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • createOugoing

        protected abstract DNSOutgoing createOugoing()
      • advanceObjectsState

        protected void advanceObjectsState​(java.util.List<DNSStatefulObject> list)
      • recoverTask

        protected abstract void recoverTask​(java.lang.Throwable e)
      • advanceTask

        protected abstract void advanceTask()
      • getTaskState

        protected DNSState getTaskState()
        Returns:
        the taskState
      • setTaskState

        protected void setTaskState​(DNSState taskState)
        Parameters:
        taskState - the taskState to set