|Home >> All >> edu >> mit >> media >> hive >> [ agent Javadoc ]|
edu.mit.media.hive.agent: Javadoc index of package edu.mit.media.hive.agent.
AgentImpl: Base class for Hive agent implementations. An agent has a life cycle. Once in its lifetime, the agent is constructed by the no argument constructor. The agent arrives on a server; its doLocalSetup() method is called. This happens whenever it first comes to a server, whether created by Cell.createNewAgent(Class) or when it moves to the server. The agent's doBehavior() method is called. This method is the agent's main loop, where it's behavior is implemented. The agent is free to do what it wants, but should respect timeToStop . The agent sould never exit this method, a convienience method waitUntilDeath ...
IconicUIAgentImpl: The UIAgent for a boxes and lines style GUI. BUGS: - Test this (from uiCanvas): Let the Canvas know it shouldn't start any new renders, as its agent is being killed. This might only be necessary because of the IcUIAg icon hack, test later. - A monitors B, A goes down, A comes back up, A tries to monitor B again, B throws rmi errors (problem with rmi, but might be possible to do a workaround). (not me, not raffi, sun.) - A monitors B, A kills self, A throws null. OR EVEN A monitors B, A stops monitoring B, A kills self, A throws null. (not me) - IcUIAg stops monitoring its own cell, then AWTUI kills ...
CellListAgentImpl: An agent that keeps a list of servers. Agents are in two flavours: a "master" agent that broadcasts events to whomever cares to listen, and "client" agents that subscribe to masters to track who is up or down. Eventually, the distinction between masters and clients might disappear, to make a more decentralized system. The agent sends events telling subscribers when servers are coming up or going down. Typically, only the master agent will be subscribed to. However, the slave agents can also rebroadcast these events, but -only- to other local agents The agent receives events from AgentMonitoringAgents ...
EventReceivingDescription: this interface is used so the event receiving agent can list the objects that it can respond to best. event receiving agents are supposed to be designed so they can repsond to any generic event, and then take special notice of certain events (ie -- string display agents will display whatever event they will get mouse events, etc, etc -- but it will display a string if it gets a string. so the String object is a specific event that the StringDisplayAgentImpl can handle. so this interface allows agent authors to list the objects that it can specially handle. this information is not stuck in the Description ...
EventSendingHelper: Helper class for EventSendingAgent interface; agent implementations can delegate methods to this class. This class maintains a list of listeners for events, as well as a count of events it has sent. When broadcastEvent is called by the client, the EventSendingHelper delivers the message to all current listeners. By default these messages are sent asynchronously. Please be careful if creating Hive objects to send by hand -- use the getCount() method in this object to determine the value that the count field in the HiveEvent constructor can use. This is not the recommended way to send events -- it ...
CellAgent: This interface is used to tag those agents which are "privledged". The reason this is used is for the session management support. When the AgentGraph records the agents which are in the system, it will inevitably record the UIManagerAgent and the CellListAgent. These will be restored by the Cell itself, so the SerializingAgentGraph has to realize which ones it should not restore . I'm assuming (I'm hoping I'm right), is that only one type of a "privledged" agent will be active on a server at one time. Please tell me if I'm wrong.
AutoMonitoringAgentImpl: this agent's sole purpose is to ask the agent monitoring agent to monitor any servers which have appeared on the scene (as according to the server list agent). this works by having this agent subscribe to the local server list agent and whenever it gets a message that a server goes up, it will ask the agent monitoring agent to monitor it. if a cell goes down or withdraws, then it will ask the agent monitoring agent to stop monitoring it
BaseUIAgentImpl: the standard base class for all ui agents -- this class will handle the minimum amount of state maintainance, and it will also handles a lot of the communications to the agent monitoring agents todo list -- the ability to monitor less cells than the agent monitoring agent is monitoring -- this would require that we filter the information the agent monitoring agent is sending and we need to keep track of exactly who we are monitoring
GenericFilterAgentImpl: This abstract class is the superclass for all image filters. Subclassers need merely to implement the abstract filter method to have a working filter. It is very important that filter return a NEW image, and not merely a modified copy of the argument, or else there will be a lot of issues with multiple agents sharing copies of the same image.
BaseAWTGUIDisplayCellListButtonFrame: this class pops up a frame that has the servers listed in a choice field and then a button -- whatever extends this class can set what the title of the frame is, what the button label says, and the action performed when the button is pushed. right now this class is used for the shut down server and the stop monitoring server boxes
BaseSwingGUIDisplayCellListButtonFrame: this class pops up a frame that has the servers listed in a choice field and then a button -- whatever extends this class can set what the title of the frame is, what the button label says, and the action performed when the button is pushed. right now this class is used for the shut down server and the stop monitoring server boxes
MovingAverageAgentImpl: Chaining agent - takes in event input from an agent, produces a time average. This has two parameters - how many milliseconds to remember, and how many milliseconds to average over. If historyLength is 300000 and averageWindow is 10000, then what we get is a 5 minute moving average of the number of events per 10 seconds.
HiveNotifyCall: this is just a different notify call that we use instead of the standard async one so we do not have to go through java reflection every time -- if we do have to go through that, things are going to get butt slow when just sending a lot of "notify"s. so this let's us send notifies without having to go through reflection
ImageDisplayAgentImpl: This agent provides a panel that displays any images it receives. When it gets a pending notification, it grays out the current image, and then when the image arrives it displays it. It centers the image and also doubles the size if it can do so without cutting off the image.
ConnectAgentHelper: Helper class for ConnectAgentHelper interface; agent implementations can delegate methods to this class. This class handles automatic wiring of an agent to and from other agents. Biggest thing still to do: add semantic criteria as well as the syntactic
ImageCreationAgentImpl: This is an abstract class that represents an image CREATION agent. Any Agent that creates images either through a camera or web retrieval or algorithmic generation should subclass this class, implementing the init() and fetchImage() methods.
EventSendingAgentImpl: Base class for event sending agents. Note - you don't actually have to inherit from this class to get most of the useful functionality; the methods here just deligate to the EventSendingHelper.
ImageSourceAgent: ImageSourceAgent is an interface which describes agents that can provide images. Generally such an agent holds a buffer of such images, but there is no reason that buffer cannot be of size 1.
GenericSignalPassthroughAgentImpl: An agent that passes through signals from a shadow as Hive events. The shadow to use is set by the variable shadowType, which can be set by an RDF file, via bean methods, or programmatically.
FakeCameraAgentImpl: This is a FakeCamera which pretends to be a camera, but provides images from an internal source. It is useful for testing when you don't really have a QuickCam hooked up to the Hive Cell.
TreeUIAgentImpl: a UI that displays the information from the agent monitoring agent in a tree like format. this class allows different classes to be used for filtering and displaying the information
GraphTreeFilterer: this interface is needed so a "pluggable" object can be created to query the agent monitoring agent for information and convert it to a DefaultMutableTreeNode for display on the tree
EventNumberTranslatingAgentImpl: Agent that turns generic events into numbers. When this agent receives an event, it rebroadcasts it to its listeners with an Integer. The Integer sent is a property of the agent.
EventTranslatingAgentImpl: Support for agents that receive events, translate them, and rebroadcast them. This class is now deprecated, in general you should use EventTransceivingAgentImpl instead.
CellAddressTreeFilterer: this class takes the agent monitoring agent and queries it for all the agnets it knows about and collapses the information into a tree that is filtered on cell addresses