Package org.cougaar.core.relay

This package contains the Cougaar support for "relays", which are generic blackboard objects that transfer data between agents.

See:
          Description

Interface Summary
Relay A Relay is a blackboard object that allows a source agent to stream content changes to multiple target agents, and for each target to stream back a response.
Relay.Source The source-side Relay, which contains the content and a set of target-addresses, and also receives response updates from the Target(s).
Relay.Target The target-side Relay, which receives content updates and can send response updates back to the Source.
Relay.TargetFactory A factory for creating a Target from the Source's content.
SimpleRelay A blackboard object API to send a query object to a remote agent, which can optionally reply back to the sender.
 

Class Summary
PingReceiver This plugin is an example ping target that receives relays and sends back a reply.
PingSender This plugin is an example ping source that sends relays to a remote agent.
PingServlet This servlet shows our ping relays as an HTML page.
Relay.Token An object that is passed from the Source to the Target(s), which authorizes content updates.
RelayChangeReport A ChangeReport to change the targets of a relay.
RelayDirective A Directive for relay messages, which can add/change/remove a Relay.Target and send responses back to the Relay.Source.
RelayDirective.Add  
RelayDirective.Change  
RelayDirective.Remove  
RelayDirective.Response  
RelayLP A LogicProvider to transmit and update Relay objects.
SimpleRelayBase Abstract base class for SimpleRelay implementations.
SimpleRelayExample This component is an example SimpleRelay client, which both sends relays and replies to them.
SimpleRelaySource Source-side implementation of SimpleRelay, which creates the SimpleRelayTarget on the target's blackboard.
SimpleRelayTarget Target-side implementation of SimpleRelay, constructed by the SimpleRelaySource.
 

Package org.cougaar.core.relay Description

This package contains the Cougaar support for "relays", which are generic blackboard objects that transfer data between agents.

The RelayLP is included in the RootDomain, which is loaded by default. The Relay API is divided into a sender-side Relay.Source and destination-side Relay.Target, although most relay implementations implement both APIs. A source specifies one or more target agents, the content, and a Relay.TargetFactory factory for creating the target-side representation of the relay. Each target-side relay specifies an optional response to send back to the source. A relay with an AttributeBasedAddress target will be sent to all members of the community and dynamically added/removed as community members are added/removed.

The relay API is complex to allow maximal flexability. A simple example is included: SimpleRelayExample is a plugin that publishes a SimpleRelay to send a "ping" object to a target agent, and the target sends back an "echo-ping" acknowledgement. See the SimpleRelayExample javadoc for details.

For more detail, see the Cougaar Developers' Guide.