javax.jmdns.impl.tasks.state
Class DNSStateTask
java.lang.Object
java.util.TimerTask
javax.jmdns.impl.tasks.DNSTask
javax.jmdns.impl.tasks.state.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
Methods inherited from class java.util.TimerTask |
cancel, scheduledExecutionTime |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
DNSStateTask
public DNSStateTask(JmDNSImpl jmDNSImpl,
int ttl)
- Parameters:
jmDNSImpl
- ttl
-
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
buildOutgoingForInfo
protected abstract DNSOutgoing buildOutgoingForInfo(ServiceInfoImpl info,
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