fr.dyade.aaa.agent

Class 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 Logger
logmon

Constructor Summary

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.

Field Details

logmon

protected Logger logmon

Constructor Details

Channel

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

Method Details

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.


Copyright B) 2004 Scalagent - All rights reserved