Package 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
public abstract class DNSStateTask extends DNSTask
This is the root class for all state tasks. These tasks work with objects that implements theDNSStatefulObject
interface and therefore participate in the state machine.- Author:
- Pierre Frisch
-
-
Constructor Summary
Constructors Constructor Description DNSStateTask(JmDNSImpl jmDNSImpl, int ttl)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
advanceObjectsState(java.util.List<DNSStatefulObject> list)
protected abstract void
advanceTask()
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.protected abstract DNSOutgoing
buildOutgoingForDNS(DNSOutgoing out)
protected abstract DNSOutgoing
buildOutgoingForInfo(ServiceInfoImpl info, DNSOutgoing out)
protected abstract boolean
checkRunCondition()
protected abstract DNSOutgoing
createOugoing()
static int
defaultTTL()
abstract java.lang.String
getTaskDescription()
protected DNSState
getTaskState()
int
getTTL()
protected abstract void
recoverTask(java.lang.Throwable e)
protected void
removeAssociation()
Remove the DNS host and service info association with this task.void
run()
static void
setDefaultTTL(int value)
For testing only do not use in production.protected void
setTaskState(DNSState taskState)
-
Methods inherited from class javax.jmdns.impl.tasks.DNSTask
addAdditionalAnswer, addAnswer, addAnswer, addAuthoritativeAnswer, addQuestion, getDns, getName, start, toString
-
-
-
-
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 interfacejava.lang.Runnable
- Specified by:
run
in classjava.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
-
-