Serialized Form
host
java.net.InetAddress host
- The host where the agent exists.
port
int port
- The port on which the base is listening.
name
java.lang.String name
- The name of the agent.
port
int port
- The port number on which the base listens. If -1 then the base
is offline.
listenThread
drm.agentbase.Base.ListenThread listenThread
- Thread that accepts network connections.
serverSocket
java.net.ServerSocket serverSocket
- Listens on the main port.
clm
drm.agentbase.ClassLoaderManager clm
- Manages class loaders used by the agents.
baseListeners
java.util.List baseListeners
- Classes that listen to the fired base events.
REFRESHRATE
long REFRESHRATE
- Hard wired par. The housekeeping jobs are done in this time intervals.
JAR_TIMEOUT
long JAR_TIMEOUT
- Hard wired par. The jar files belonging to the classloaders of agents are
removed after this timeout of non-usage.
cfg
java.util.Properties cfg
- The configuration properties. These mustn't be changed after initialization,
extending classes must take care of that.
boxes
java.util.Map boxes
- Stores all agents and related information. Key is the agent name,
value is an AgentBox.
Extending classes mustn't change this map,
and they have to synchronise every access and iteration over it.
Otherwise realiable behaviour is not guaranteed.
name
java.lang.String name
- A unique name for the base. Initialized after cfg has been initialized
using getUniqueName(). This later function can be overridden in extending
classes and the function can use values from cfg. The generated name
is stored in cfg as drm.baseName and can be asked via getProperty.
- See Also:
Base.cfg
,
Base.getUniqueName()
,
IBase.getProperty(String)
group
java.lang.String group
- To store the group name. The constructor sets it.
sender
Address sender
recipient
Address recipient
type
java.lang.String type
content
byte[] content
name
java.lang.String name
- This is the name of the agent.
type
java.lang.String type
- This is the type identifyer of the agent.
job
java.lang.String job
- This is the job name the agent participates in.
collective
Collective collective
- The collective this object is a membet of.
root
Address root
- The root contributor. The presence of this is not crutial, it only provides
a fixed and reliable address to fall back to.
readObject
private void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
- Not only deserialises the object, also performs adjustments on the
timestamps to bring them in alignment with the local time.
Reads the current time on the peer node first.
If the timestamp of any items in the cache or commands are newer
throws and IOException, because that means the object is corrupted.
Sets the timestamp of the contribution of the peer (if any) to the current
local time.
writeObject
private void writeObject(java.io.ObjectOutputStream out)
throws java.io.IOException
timeStamp
long timeStamp
contributor
Address contributor
contribution
java.lang.Object contribution
DRM
Collective DRM
- The interface to the collective forming the distributed resource machine
by connecting the standalone agentbases (Base) together.
The collective contains contributions of other participants and
collection-wide controll commands.
lastPeer
ContributionBox lastPeer
- we store the last peer the collective communicated with here
newCommands
java.util.HashSet newCommands
- Temporary storage place for the commands we want to spread through the
collective.
getCommands()
reads it.
executedCommands
java.util.List executedCommands
- A queue of executed commands. The maximal size of the queue is
Collective.MAX_COMMANDS_SIZE
. After reaching this size the oldest
element is removed.
com
byte com
- the byte code of the command
pars
java.lang.Object[] pars
- null if there are no parameters to the command.
quiteUniqueID
long quiteUniqueID
- well, even if it is not unique (which is rather unlikely),
together with the rest of the fields makes
the command unique.
readObject
private void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
writeObject
private void writeObject(java.io.ObjectOutputStream out)
throws java.io.IOException
list
javax.swing.JList list
listModel
javax.swing.DefaultListModel listModel
listScroller
javax.swing.JScrollPane listScroller
selectedAgent
java.lang.String selectedAgent
- Name of the agent that was selected in the list.
node
Node node
cfg
java.util.Properties cfg
- The configuration parameters.