fr.dyade.aaa.agent
Class Channel

java.lang.Object
  extended byfr.dyade.aaa.agent.Channel

public abstract class Channel
extends java.lang.Object

Class Channel realizes the interface for sending messages. It defines function member SendTo to send a notification to an identified agent.

Notifications are then routed to a message queue where they are stored in chronological order. The Channel object is responsible for localizing the target agent.


Field Summary
protected  org.objectweb.util.monolog.api.Logger logmon
           
 
Constructor Summary
protected Channel()
          Constructs a new Channel object (can only be used by subclasses).
 
Method Summary
static void sendTo(AgentId to, Notification not)
          Sends a notification to an agent.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logmon

protected org.objectweb.util.monolog.api.Logger logmon
Constructor Detail

Channel

protected Channel()
Constructs a new Channel object (can only be used by subclasses).

Method Detail

sendTo

public static final void sendTo(AgentId to,
                                Notification not)
Sends a notification to an agent. It may be used anywhere, from any object and any thread. However it is best practice to call the sendTo function defined in class Agent from an agent code executed during a reaction.

The destination agent receives the notification with a declared null source agent id, which may be recognized using the isNullId function of class AgentId. This is not true when this call is performed during an standard agent reaction. In that case the current reacting agent, known by the engine, is provided as source agent.

The notification is immediately validated, that is made persistent, if it is not sent from an agent reaction. Be careful, does not use this method in the engine thread, sometime engine.agent is null and it throws a NullPointerException.

Parameters:
to - destination agent.
not - notification.
Throws:
java.io.IOException - error when accessing the local persistent storage


Copyright ? 2004 Scalagent - All rights reserved