solar.service.multicast
Class ScribeMulticastService.ScribeMember

java.lang.Object
  |
  +--solar.service.multicast.ScribeMulticastService.ScribeMember
All Implemented Interfaces:
rice.scribe.IScribeApp
Enclosing class:
ScribeMulticastService

class ScribeMulticastService.ScribeMember
extends java.lang.Object
implements rice.scribe.IScribeApp


Field Summary
(package private)  MulticastMember _mcmember
           
 
Constructor Summary
ScribeMulticastService.ScribeMember(MulticastMember mcmember)
           
 
Method Summary
 boolean anycastHandler(rice.scribe.messaging.ScribeMessage msg)
          Invoked by underlying scribe when it receives a anycast Message, to check if there is a local application which can take care of this anycast message.
 void faultHandler(rice.scribe.messaging.ScribeMessage msg, rice.pastry.NodeHandle faultyParent)
          Invoked by Scribe just before the "repair" SUBSCRIBE message is sent when a node suspects its parent is faulty.
 void forwardHandler(rice.scribe.messaging.ScribeMessage msg)
          Called by Scribe before the node forwards a message to its children in the multicast tree.
 void isNewRoot(rice.pastry.NodeId topicId)
          Upcall made by scribe to registered applications to inform them that local node is now the root for some topic, and hence can take appropriate action.
 void newParent(rice.pastry.NodeId topicId, rice.pastry.NodeHandle newParent, java.io.Serializable data)
          Upcall made by scribe to the registered applications to inform them that a new parent is found for local node in the topic tree.
 void receiveMessage(rice.scribe.messaging.ScribeMessage msg)
          up-call invoked by scribe when a publish message is 'delivered'.
 void scribeIsReady()
          Invoked when the underlying Scribe substrate is ready.
 void subscribeHandler(rice.pastry.NodeId topicId, rice.pastry.NodeHandle child, boolean wasAdded, java.io.Serializable obj)
          Invoked by Scribe after a child is added to or removed from one of the node's children tables.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_mcmember

MulticastMember _mcmember
Constructor Detail

ScribeMulticastService.ScribeMember

public ScribeMulticastService.ScribeMember(MulticastMember mcmember)
Method Detail

scribeIsReady

public void scribeIsReady()
Invoked when the underlying Scribe substrate is ready. The Scribe substrate becomes ready as soon as the local Pastry node on which it lies is ready. In order to get this upcall it is necessary that the IScribeApp registers itself to the Scribe substrate using the registerApp() method in IScribe interface.

Specified by:
scribeIsReady in interface rice.scribe.IScribeApp

receiveMessage

public void receiveMessage(rice.scribe.messaging.ScribeMessage msg)
up-call invoked by scribe when a publish message is 'delivered'.

Specified by:
receiveMessage in interface rice.scribe.IScribeApp

forwardHandler

public void forwardHandler(rice.scribe.messaging.ScribeMessage msg)
Called by Scribe before the node forwards a message to its children in the multicast tree.

Specified by:
forwardHandler in interface rice.scribe.IScribeApp

subscribeHandler

public void subscribeHandler(rice.pastry.NodeId topicId,
                             rice.pastry.NodeHandle child,
                             boolean wasAdded,
                             java.io.Serializable obj)
Invoked by Scribe after a child is added to or removed from one of the node's children tables.

Specified by:
subscribeHandler in interface rice.scribe.IScribeApp

faultHandler

public void faultHandler(rice.scribe.messaging.ScribeMessage msg,
                         rice.pastry.NodeHandle faultyParent)
Invoked by Scribe just before the "repair" SUBSCRIBE message is sent when a node suspects its parent is faulty.

Specified by:
faultHandler in interface rice.scribe.IScribeApp

anycastHandler

public boolean anycastHandler(rice.scribe.messaging.ScribeMessage msg)
Invoked by underlying scribe when it receives a anycast Message, to check if there is a local application which can take care of this anycast message. If application can service the request of anycast message, the anycast message is not routed furthur(for DFS), else the anycast message will be furthur routed following DFS.

Specified by:
anycastHandler in interface rice.scribe.IScribeApp

isNewRoot

public void isNewRoot(rice.pastry.NodeId topicId)
Upcall made by scribe to registered applications to inform them that local node is now the root for some topic, and hence can take appropriate action.

Specified by:
isNewRoot in interface rice.scribe.IScribeApp

newParent

public void newParent(rice.pastry.NodeId topicId,
                      rice.pastry.NodeHandle newParent,
                      java.io.Serializable data)
Upcall made by scribe to the registered applications to inform them that a new parent is found for local node in the topic tree.

Specified by:
newParent in interface rice.scribe.IScribeApp