fr.dyade.aaa.agent.AgentId Class Reference

Collaboration diagram for fr.dyade.aaa.agent.AgentId:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AgentId (short from, short to, int stamp)
final short getFrom ()
final short getTo ()
final int getStamp ()
final String toString ()
int hashCode ()
final boolean isNullId ()
boolean equals (Object obj)

Static Public Member Functions

static final AgentId factoryId (short sid)
static final AgentId localId (short sid)
static final int parseInt (String str, int idx, int end) throws NumberFormatException
static final AgentId fromString (String str)

Static Public Attributes

static final int NullIdStamp = 0
static final int FactoryIdStamp = 1
static final int AdminIdStamp = 2
static final int MaxSystemIdStamp = 2
static int MinWKSIdStamp = MaxSystemIdStamp + 1
static int NameServiceStamp = 4
static int SchedulerServiceStamp = 5
static int FileTransfertStamp = 6
static int JndiServiceStamp = 7
static int LocalJndiServiceStamp = 8
static int SCAdminProxyStamp = 9
static int JoramAdminStamp = 10
static int JoramAdminPxStamp = 11
static int ControlTopicStamp = 12
static int ServerConfigStamp = 13
static int ResourceAgentStamp = 14
static int MaxWKSIdStamp = 1024
static int MaxIdStamp = MaxWKSIdStamp
static final AgentId nullId
static AgentId adminId

Package Functions

 AgentId () throws IOException
 AgentId (short to) throws IOException

Static Package Functions

static void init () throws IOException, ClassNotFoundException

Package Attributes

transient short from
transient short to
transient int stamp
transient String str = null

Static Package Attributes

static final long serialVersionUID = 1L
static AgentId localId
static AgentId factoryId

Detailed Description

An AgentId allows for uniquely identifying and localizing an agent throughout the distributed system. It defines variable members describing the identifier and all needed function members to manipulate the structure (creation, serialization, etc).


However before describing the structure of an AgentId we must take into account a second requirement: an agent may be created onto a remote agent server, and the creating entity needs to know the new identifier created for that agent. As agents live in an asynchronous world it is not so easy to get back the identifier from the remote server. We decided instead to make the creating entity responsible for creating the identifier.

The two requirements are then:


The AgentId is then built of three parts: The three fields form the unique global identifier of the agent, that is two agents may share a common stamp, as long as their from or to fields differ. The to field identifies the agent server hosting the agent, so it is used by the channel to forward notifications to the agent.

See also:
AgentIdStamp

Definition at line 160 of file AgentId.java.


Constructor & Destructor Documentation

fr.dyade.aaa.agent.AgentId.AgentId (  )  throws IOException [package]

Allocates an AgentId object for a new agent hosted by this agent server.

Definition at line 320 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.factoryId(), fr.dyade.aaa.agent.AgentId.fromString(), fr.dyade.aaa.agent.AgentId.init(), and fr.dyade.aaa.agent.AgentId.localId().

fr.dyade.aaa.agent.AgentId.AgentId ( short  to  )  throws IOException [package]

Allocates an AgentId object for a new agent hosted by specified agent server.

Parameters:
to The identification of the agent server hosting the agent.

Definition at line 330 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.to.

fr.dyade.aaa.agent.AgentId.AgentId ( short  from,
short  to,
int  stamp 
)

Allocates a new AgentId object.

Parameters:
from The identification of the agent server hosting the creating agent.
to The identification of the agent server hosting the agent.
stamp The stamp of agent.

Definition at line 342 of file AgentId.java.


Member Function Documentation

static final AgentId fr.dyade.aaa.agent.AgentId.factoryId ( short  sid  )  [static]

Returns the AgentId for a remote factory agent.

Parameters:
sid remote server id.
Returns:
the AgentId for a remote factory agent.

Definition at line 289 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.AgentId(), and fr.dyade.aaa.agent.AgentId.FactoryIdStamp.

Here is the call graph for this function:

static void fr.dyade.aaa.agent.AgentId.init (  )  throws IOException, ClassNotFoundException [static, package]

Statically initializes AgentId class.

Definition at line 300 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.adminId, fr.dyade.aaa.agent.AgentId.AdminIdStamp, fr.dyade.aaa.agent.AgentId.AgentId(), fr.dyade.aaa.agent.AgentId.factoryId, fr.dyade.aaa.agent.AgentId.FactoryIdStamp, fr.dyade.aaa.agent.AgentId.localId, and fr.dyade.aaa.agent.AgentId.NullIdStamp.

Here is the call graph for this function:

static final int fr.dyade.aaa.agent.AgentId.parseInt ( String  str,
int  idx,
int  end 
) throws NumberFormatException [static]

Parses the string argument as a non signed integer. The characters in the substring must all be digits.

Parameters:
str the String containing the integer representation to be parsed.
idx the beginning index, inclusive.
end the ending index, exclusive.
Returns:
the integer represented by the string argument.
Exceptions:
NumberFormatException if the String does not contain a parsable int.

Definition at line 381 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.str.

Referenced by fr.dyade.aaa.agent.AgentId.fromString().

static final AgentId fr.dyade.aaa.agent.AgentId.fromString ( String  str  )  [static]

Parses the string argument as an AgentId.

Returns:
The AgentId object represented by the argument.

Definition at line 409 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.AgentId(), fr.dyade.aaa.agent.AgentId.from, fr.dyade.aaa.agent.AgentId.parseInt(), fr.dyade.aaa.agent.AgentId.stamp, and fr.dyade.aaa.agent.AgentId.to.

Referenced by fr.dyade.aaa.jndi2.server.RequestManager.changeOwner(), and org.objectweb.joram.mom.dest.AdminTopicImpl.doProcess().

Here is the call graph for this function:

final String fr.dyade.aaa.agent.AgentId.toString (  ) 

Returns a string representation of this AgentId object.

Returns:
A string representation of this object.

Definition at line 436 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.from, fr.dyade.aaa.agent.AgentId.stamp, fr.dyade.aaa.agent.AgentId.str, and fr.dyade.aaa.agent.AgentId.to.

Referenced by org.objectweb.joram.mom.proxies.ClientSubscription.browseNewMessages(), org.objectweb.joram.mom.dest.TopicImpl.clusterNot(), org.objectweb.joram.mom.dest.TopicImpl.clusterTest(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.ConsumerDaemon.ConsumerDaemon(), org.objectweb.joram.mom.dest.AdminTopicImpl.createDestination(), org.objectweb.joram.mom.dest.AdminTopicImpl.createDestinationAndSave(), org.objectweb.joram.mom.dest.AdminTopicImpl.CreateUserAndSave(), fr.dyade.aaa.agent.Engine.deleteAgent(), org.objectweb.joram.mom.proxies.ProxyImpl.deleteProxy(), com.scalagent.joram.mom.dest.mail.JavaMailTopicImpl.doPop(), com.scalagent.joram.mom.dest.mail.JavaMailQueueImpl.doPop(), org.objectweb.joram.mom.dest.AdminTopicImpl.doProcess(), org.objectweb.joram.mom.dest.DestinationImpl.getDestinationId(), org.objectweb.joram.mom.dest.DestinationImpl.getDMQId(), org.objectweb.joram.mom.proxies.ProxyImpl.getMsgTxname(), org.objectweb.joram.mom.dest.DestinationImpl.getRights(), org.objectweb.joram.mom.proxies.ClientSubscription.getTopicIdAsString(), org.objectweb.joram.mom.proxies.ProxyImpl.initialize(), org.objectweb.joram.mom.dest.QueueImpl.monitGetDMQSettings(), org.objectweb.joram.mom.dest.DestinationImpl.monitGetDMQSettings(), org.objectweb.joram.mom.dest.TopicImpl.monitGetFather(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.onMessage(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.receiveNoWait(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.ReconnectionDaemon.ReconnectionDaemon(), org.objectweb.joram.mom.dest.AdminTopicImpl.RegisterTmpDestNot(), org.objectweb.joram.mom.dest.DestinationImpl.replyToTopic(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.XARecoverDaemon.run(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.setConsumer(), org.objectweb.joram.mom.dest.AdminTopicImpl.setRightAndSave(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.StartupDaemon.StartupDaemon(), org.objectweb.joram.mom.dest.TopicImpl.toString(), org.objectweb.joram.mom.dest.QueueImpl.toString(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeTopicImpl.toString(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeQueueImpl.toString(), org.objectweb.joram.mom.dest.ClusterQueueImpl.toString(), com.scalagent.joram.mom.dest.mail.JavaMailTopicImpl.toString(), com.scalagent.joram.mom.dest.mail.JavaMailQueueImpl.toString(), com.scalagent.joram.mom.dest.ftp.FtpQueueImpl.toString(), org.objectweb.joram.mom.dest.TopicImpl.unclusterNot(), org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.unsetConsumer(), and org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeModule.XARecoverDaemon.XARecoverDaemon().

int fr.dyade.aaa.agent.AgentId.hashCode (  ) 

Returns a hashcode for this AgentId object.

Returns:
a hash code value for this object, equal to the primitive int value represented by the stamp field.

Definition at line 448 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.stamp.

final boolean fr.dyade.aaa.agent.AgentId.isNullId (  ) 

Returns:
true if this id is equals to NullId; false otherwise.

Definition at line 457 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.NullIdStamp, and fr.dyade.aaa.agent.AgentId.stamp.

Referenced by fr.dyade.aaa.agent.Channel.directSendTo(), and fr.dyade.aaa.agent.Engine.push().

boolean fr.dyade.aaa.agent.AgentId.equals ( Object  obj  ) 

Indicates whether some other agent id. is "equal to" this one. This method returns true if and only if obj is an AgentId and refer to the same agent (from, to and stamp fields are equals).

Parameters:
obj the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.

Definition at line 470 of file AgentId.java.

References fr.dyade.aaa.agent.AgentId.from, fr.dyade.aaa.agent.AgentId.stamp, and fr.dyade.aaa.agent.AgentId.to.

Referenced by org.objectweb.joram.mom.dest.TopicImpl.clusterNot(), org.objectweb.joram.mom.dest.QueueImpl.denyRequest(), fr.dyade.aaa.jndi2.distributed.ReplicationManager.doReact(), com.scalagent.task.Task.doReact(), com.scalagent.task.composed.Delegating.doReact(), org.objectweb.joram.mom.dest.QueueImpl.doRightRequest(), org.objectweb.joram.mom.dest.TopicImpl.doUnknownAgent(), org.objectweb.joram.mom.dest.QueueImpl.doUnknownAgent(), org.objectweb.joram.mom.dest.AdminTopicImpl.getName(), org.objectweb.joram.mom.dest.AdminTopicImpl.getPassword(), org.objectweb.joram.mom.dest.DestinationImpl.isAdministrator(), fr.dyade.aaa.agent.RoleMultiple.removeListener(), org.objectweb.joram.mom.util.DMQManager.sendToDMQ(), com.scalagent.task.Task.setCondition(), org.objectweb.joram.mom.dest.TopicImpl.setFatherRequest(), com.scalagent.task.Task.setParent(), and org.objectweb.joram.mom.dest.DestinationImpl.unknownAgent().


Member Data Documentation

transient short fr.dyade.aaa.agent.AgentId.from [package]

The identification of the agent server hosting the creating agent.

Definition at line 170 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.equals(), fr.dyade.aaa.agent.AgentId.fromString(), fr.dyade.aaa.agent.AgentId.getFrom(), and fr.dyade.aaa.agent.AgentId.toString().

transient short fr.dyade.aaa.agent.AgentId.to [package]

The identification of the agent server hosting the created agent.

Definition at line 172 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.AgentId(), fr.dyade.aaa.agent.Channel.directSendTo(), fr.dyade.aaa.agent.AgentId.equals(), fr.dyade.aaa.agent.ExpiredNot.ExpiredNot(), fr.dyade.aaa.agent.AgentId.fromString(), fr.dyade.aaa.agent.AgentId.getTo(), and fr.dyade.aaa.agent.AgentId.toString().

transient int fr.dyade.aaa.agent.AgentId.stamp [package]

The stamp, local to the agent server hosting the creating agent.

Definition at line 174 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.equals(), fr.dyade.aaa.agent.AgentId.fromString(), fr.dyade.aaa.agent.AgentId.getStamp(), fr.dyade.aaa.agent.AgentId.hashCode(), fr.dyade.aaa.agent.AgentId.isNullId(), and fr.dyade.aaa.agent.AgentId.toString().

transient String fr.dyade.aaa.agent.AgentId.str = null [package]

A temporary string representation of object in order to improve performances.

Definition at line 180 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.parseInt(), and fr.dyade.aaa.agent.AgentId.toString().

final int fr.dyade.aaa.agent.AgentId.NullIdStamp = 0 [static]

Reserved stamp for NullId.

Definition at line 214 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.init(), fr.dyade.aaa.agent.AgentId.isNullId(), and fr.dyade.aaa.agent.AgentId.localId().

final int fr.dyade.aaa.agent.AgentId.FactoryIdStamp = 1 [static]

Reserved stamp for factory AgentId.

Definition at line 216 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.factoryId(), and fr.dyade.aaa.agent.AgentId.init().

final int fr.dyade.aaa.agent.AgentId.AdminIdStamp = 2 [static]

Reserved stamp for admin AgentId.

Definition at line 218 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.init().

final int fr.dyade.aaa.agent.AgentId.MaxSystemIdStamp = 2 [static]

Maximum reserved stamp for system services.

Definition at line 220 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.MinWKSIdStamp = MaxSystemIdStamp + 1 [static]

Minimum reserved stamp for well known services.

Definition at line 227 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.NameServiceStamp = 4 [static]

Reserved stamp for name service AgentId.

Definition at line 229 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.SchedulerServiceStamp = 5 [static]

Reserved stamp for scheduler service AgentId.

Definition at line 231 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.FileTransfertStamp = 6 [static]

Reserved stamp for fileTransfert service AgentId.

Definition at line 233 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.JndiServiceStamp = 7 [static]

Reserved stamp for JNDI service AgentId.

Definition at line 235 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.LocalJndiServiceStamp = 8 [static]

Reserved stamp for local JNDI service AgentId.

Definition at line 237 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.SCAdminProxyStamp = 9 [static]

Reserved stamp for SCAdmin proxy AgentId.

Definition at line 239 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.JoramAdminStamp = 10 [static]

Reserved stamp for JORAM administration topic AgentId.

Definition at line 241 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.JoramAdminPxStamp = 11 [static]

Reserved stamp for JORAM administration proxy AgentId.

Definition at line 243 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.ControlTopicStamp = 12 [static]

Reserved stamp for JMS topic AgentId in charge of sending control events.

Definition at line 245 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.ServerConfigStamp = 13 [static]

Reserved stamp for the server reconfiguration agent AgentId .

Definition at line 247 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.ResourceAgentStamp = 14 [static]

Reserved stamp for ResourceAgent.

Definition at line 249 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.MaxWKSIdStamp = 1024 [static]

Maximum reserved stamp for well known services.

Definition at line 251 of file AgentId.java.

int fr.dyade.aaa.agent.AgentId.MaxIdStamp = MaxWKSIdStamp [static]

Maximum reserved stamp.

Definition at line 253 of file AgentId.java.

final AgentId fr.dyade.aaa.agent.AgentId.nullId [static]

Initial value:

 new AgentId((short) 0,
                                                   (short) 0,
                                                   NullIdStamp)
null AgentId.

Definition at line 260 of file AgentId.java.

Referenced by org.objectweb.joram.mom.dest.DestinationImpl.getId().

AgentId fr.dyade.aaa.agent.AgentId.localId [static, package]

Used by channel to send messages without source agent (from proxy or engine). The from field does not be nullId because the destination node use the from.to field to get the from node id.

See also:
Engine

Channel.sendTo(AgentId, Notification)

Definition at line 271 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.Engine.dispatch(), and fr.dyade.aaa.agent.AgentId.init().

AgentId fr.dyade.aaa.agent.AgentId.factoryId [static, package]

AgentId for local factory agent.

See also:
AgentFactory

Definition at line 276 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.init().

AgentId fr.dyade.aaa.agent.AgentId.adminId [static]

AgentId for local admin agent.

See also:
AgentAdmin

Definition at line 281 of file AgentId.java.

Referenced by fr.dyade.aaa.agent.AgentId.init().


The documentation for this class was generated from the following file:
Generated on Tue Sep 16 16:16:15 2008 for joram by  doxygen 1.5.0