|
Nested classes/interfaces inherited from class sajas.core.behaviours.Behaviour |
Behaviour.RunnableChangedEvent |
Field Summary | ||
static int |
NO_REPLY_SENT |
Fields inherited from class sajas.core.behaviours.Behaviour |
myAgent, myEvent, NOTIFY_DOWN, NOTIFY_UP, parent, STATE_BLOCKED, STATE_READY, STATE_RUNNING |
Constructor Summary | |||
protected |
ReplySender() | ||
ReplySender(Agent a, String replyKey, String msgKey) Constructor. |
|||
ReplySender(Agent a, String replyKey, String msgKey, DataStore ds) Constructor. |
Method Summary | ||
void |
action() Runs the behaviour. |
|
static void |
adjustReply(Agent myAgent, jade.lang.acl.ACLMessage reply, jade.lang.acl.ACLMessage msg) Adjust all protocol fields and receivers in a reply to a given message. |
|
int |
onEnd() This method is just an empty placeholder for subclasses. |
|
void |
setMsgKey(String msgKey) | |
void |
setReplyKey(String replyKey) |
Methods inherited from class sajas.core.behaviours.OneShotBehaviour |
done |
Methods inherited from class sajas.core.behaviours.SimpleBehaviour |
reset |
Methods inherited from class sajas.core.behaviours.Behaviour |
actionWrapper, block, block, getAgent, getBehaviourName, getDataStore, getExecutionState, getParent, getRestartCounter, handle, handleBlockEvent, handleRestartEvent, isRunnable, onStart, restart, root, setAgent, setBehaviourName, setDataStore, setExecutionState |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Behaviour
subclasses to perform ordinary behaviour
duty. An agent schedules its behaviours calling their
action()
method; since all the behaviours belonging
to the same agent are scheduled cooperatively, this method
must not enter in an endless loop and should return as
soon as possible to preserve agent responsiveness. To split a
long and slow task into smaller section, recursive behaviour
aggregation may be used.Behaviour
.
onEnd
is called after the behaviour has been
removed from the pool of behaviours to be executed by an agent.
Therefore calling
reset()
is not sufficient to cyclically repeat the task
represented by this Behaviour
. In order to achieve that,
this Behaviour
must be added again to the agent
(using myAgent.addBehaviour(this)
). The same applies to
in the case of a Behaviour
that is a child of a
ParallelBehaviour
.
|