ist.palcom.routing.util
Class RoutingPubSubManager

java.lang.Object
  extended by ist.palcom.routing.util.RoutingPubSubManager

public class RoutingPubSubManager
extends java.lang.Object

A class that manages topic-based publish/subscribe communication.


Field Summary
protected  MediaManager mediaManager
          The MediaManager used for network communication
protected  PalcomScheduler scheduler
           
protected  boolean started
          True while started.
 
Constructor Summary
RoutingPubSubManager(PalcomScheduler scheduler, AbstractRoutingManager routingManager)
           
RoutingPubSubManager(PalcomScheduler scheduler, MediaManager mediaManager)
           
 
Method Summary
protected  void broadcastMessage(java.lang.String topic, Message message, Selector senderSelector)
          Broadcasts a message with a certain topic out to the network.
 void publish(java.lang.String topic, Message message, Selector publisherSelector)
          Publish a message on a topic.
 void stop()
          Stops the PubSubManager.
 void subscribe(java.lang.String topic, PalcomThread subscriber)
          Subscribe to a topic.
 void unsubscribe(java.lang.String topic, PalcomThread subscriber)
          Stop subscribing to a topic.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scheduler

protected final PalcomScheduler scheduler

mediaManager

protected final MediaManager mediaManager
The MediaManager used for network communication


started

protected boolean started
True while started.

Constructor Detail

RoutingPubSubManager

public RoutingPubSubManager(PalcomScheduler scheduler,
                            MediaManager mediaManager)

RoutingPubSubManager

public RoutingPubSubManager(PalcomScheduler scheduler,
                            AbstractRoutingManager routingManager)
Method Detail

stop

public void stop()
Stops the PubSubManager. Has no effect if it is not started.


subscribe

public void subscribe(java.lang.String topic,
                      PalcomThread subscriber)
Subscribe to a topic. Registers a PalcomThread that will receive messages in MessageEvents.


unsubscribe

public void unsubscribe(java.lang.String topic,
                        PalcomThread subscriber)
Stop subscribing to a topic. The subscriber will be removed from the list of registered subscribers for that topic.


publish

public void publish(java.lang.String topic,
                    Message message,
                    Selector publisherSelector)
Publish a message on a topic.


broadcastMessage

protected void broadcastMessage(java.lang.String topic,
                                Message message,
                                Selector senderSelector)
Broadcasts a message with a certain topic out to the network.