ist.palcom.routing
Class BasicRoutingManager

java.lang.Object
  extended by ist.palcom.routing.AbstractRoutingManager2
      extended by ist.palcom.routing.BasicRoutingManager
All Implemented Interfaces:
IHgraphNode, RoutingManager

public class BasicRoutingManager
extends AbstractRoutingManager2

This class provides the simplest routing manager possible. This routing manager will only provide a translation between URN and to URL. This implementation will give the same behavior as if no routing manager used. Messages will be send to one hop neighbours only.


Nested Class Summary
 
Nested classes/interfaces inherited from class ist.palcom.routing.AbstractRoutingManager2
AbstractRoutingManager2.ChoppedMessageHandler
 
Field Summary
 
Fields inherited from class ist.palcom.routing.AbstractRoutingManager2
_node
 
Fields inherited from interface ist.palcom.hgraph.IHgraphNode
CHILD_NAME_CLASH, CIRCULARITY_CLASH, COMMAND_OR_NODE_MISSING, ERROR, HANDLER_MISSING, INVOKATOR_MISSING, LISTENER_MISSING, NODE_NOT_CHILD, PATH_MISSING, SIBLING_ALREADY_EXISTS, SIBLING_NONEXISTENT, SIBLING_REFERENCE_ALREADY_EXISTS, SIBLING_REFERENCE_NONEXISTENT, STATUS_OK, VALUE_ALREADY_EXISTS, VALUE_NOT_PRESENT
 
Constructor Summary
BasicRoutingManager(MediaManager manager, PalcomScheduler scheduler)
           
 
Method Summary
 void addErrorHandler(PalcomThread handler)
           
 java.lang.String getLocalDeviceCache()
           
 void registerAsListener(PalcomThread communicationManager)
          Registers as a listener to messages received by this manager from the network.
 void registerForHeartBeats(PalcomThread resourceManager)
           
 boolean send(Message message, java.lang.String receiverDeviceID)
           
 boolean send(Message msg, URN urn1, Selector selector1, URN urn2, Selector selector2)
           
 void sendBroadcast(Message message)
           
 void sendHeartAttack()
          Send a message saying that the device will close down
 void sendHeartBeat(boolean isHeartBeatAck)
           
 void setDiscoverySelector(Selector selector)
           
 void setLocalDeviceCache(java.lang.String localDeviceCache)
           
 void setLocalDeviceID(java.lang.String localDeviceID)
           
 void setLocalDiscoveryVersion(java.lang.String discoveryVersion)
           
 void setLocalStatusFlag(byte statusFlag)
           
 URL startReceiving(PalcomThread receiver)
           
 URL startReceiving(URL url, PalcomThread receiver)
           
 Selector startReceiving2(PalcomThread receiver)
           
 void stop()
          Clears the choppedMessageHandler.
 void stopReceiving(PalcomThread receiver)
           
 void stopReceiving(Selector selector)
           
 void stopReceiving(URL url)
           
 void stopReceiving(URL url, PalcomThread receiver)
           
 void unregisterDevice(java.lang.String deviceID)
          Remove the device with ID deviceID from the list of registered devices.
 
Methods inherited from class ist.palcom.routing.AbstractRoutingManager2
addNodeChild, adjustMessageRawData, getChildIterator, getChoppedMessageHandler, getFuncFunc, getNodeName, getNodeParent, getPath, getSiblingFunc, getValueFunc, hasChildNamed, isAncestorOf, removeNodeChild, sendGroupJoinMessage, sendGroupLeaveMessage, setNodeName, setNodeParent, toXML, toXMLFull, toXMLFullRecursively, toXMLRecursively, updatePath
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicRoutingManager

public BasicRoutingManager(MediaManager manager,
                           PalcomScheduler scheduler)
Method Detail

stopReceiving

public void stopReceiving(URL url,
                          PalcomThread receiver)

startReceiving

public URL startReceiving(URL url,
                          PalcomThread receiver)

stopReceiving

public void stopReceiving(PalcomThread receiver)
Specified by:
stopReceiving in interface RoutingManager
Specified by:
stopReceiving in class AbstractRoutingManager2

startReceiving

public URL startReceiving(PalcomThread receiver)

startReceiving2

public Selector startReceiving2(PalcomThread receiver)

stopReceiving

public void stopReceiving(Selector selector)
Specified by:
stopReceiving in interface RoutingManager
Specified by:
stopReceiving in class AbstractRoutingManager2

stopReceiving

public void stopReceiving(URL url)

send

public boolean send(Message msg,
                    URN urn1,
                    Selector selector1,
                    URN urn2,
                    Selector selector2)
Specified by:
send in interface RoutingManager
Specified by:
send in class AbstractRoutingManager2

send

public boolean send(Message message,
                    java.lang.String receiverDeviceID)
Specified by:
send in interface RoutingManager
Specified by:
send in class AbstractRoutingManager2

stop

public void stop()
Description copied from class: AbstractRoutingManager2
Clears the choppedMessageHandler. Subclasses override this method to stop the media manager(s), and call super.stop from there.

Specified by:
stop in interface RoutingManager
Overrides:
stop in class AbstractRoutingManager2

addErrorHandler

public void addErrorHandler(PalcomThread handler)
Specified by:
addErrorHandler in interface RoutingManager
Specified by:
addErrorHandler in class AbstractRoutingManager2

setLocalDeviceCache

public void setLocalDeviceCache(java.lang.String localDeviceCache)
Specified by:
setLocalDeviceCache in interface RoutingManager
Specified by:
setLocalDeviceCache in class AbstractRoutingManager2

getLocalDeviceCache

public java.lang.String getLocalDeviceCache()
Specified by:
getLocalDeviceCache in interface RoutingManager
Specified by:
getLocalDeviceCache in class AbstractRoutingManager2

setLocalDeviceID

public void setLocalDeviceID(java.lang.String localDeviceID)
Specified by:
setLocalDeviceID in interface RoutingManager
Specified by:
setLocalDeviceID in class AbstractRoutingManager2

setLocalStatusFlag

public void setLocalStatusFlag(byte statusFlag)
Specified by:
setLocalStatusFlag in interface RoutingManager
Specified by:
setLocalStatusFlag in class AbstractRoutingManager2

setLocalDiscoveryVersion

public void setLocalDiscoveryVersion(java.lang.String discoveryVersion)
Specified by:
setLocalDiscoveryVersion in interface RoutingManager
Specified by:
setLocalDiscoveryVersion in class AbstractRoutingManager2

setDiscoverySelector

public void setDiscoverySelector(Selector selector)
Specified by:
setDiscoverySelector in interface RoutingManager
Specified by:
setDiscoverySelector in class AbstractRoutingManager2

sendBroadcast

public void sendBroadcast(Message message)
Specified by:
sendBroadcast in interface RoutingManager
Specified by:
sendBroadcast in class AbstractRoutingManager2

sendHeartAttack

public void sendHeartAttack()
Send a message saying that the device will close down

Specified by:
sendHeartAttack in interface RoutingManager
Specified by:
sendHeartAttack in class AbstractRoutingManager2

registerAsListener

public void registerAsListener(PalcomThread communicationManager)
Registers as a listener to messages received by this manager from the network.

Specified by:
registerAsListener in interface RoutingManager
Specified by:
registerAsListener in class AbstractRoutingManager2
Parameters:
communicationManager - The PalcomThread used in CommunicationManager

registerForHeartBeats

public void registerForHeartBeats(PalcomThread resourceManager)
Specified by:
registerForHeartBeats in interface RoutingManager
Specified by:
registerForHeartBeats in class AbstractRoutingManager2

sendHeartBeat

public void sendHeartBeat(boolean isHeartBeatAck)
Specified by:
sendHeartBeat in interface RoutingManager
Specified by:
sendHeartBeat in class AbstractRoutingManager2

unregisterDevice

public void unregisterDevice(java.lang.String deviceID)
Remove the device with ID deviceID from the list of registered devices.

Specified by:
unregisterDevice in interface RoutingManager
Overrides:
unregisterDevice in class AbstractRoutingManager2