| 
Rice Pastry API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectrice.p2p.scribe.ScribePolicy.DefaultScribePolicy
public static class ScribePolicy.DefaultScribePolicy
The default policy for Scribe, which always allows new children to join and adds children in the order in which they are provided, implicitly providing a depth-first search.
| Nested Class Summary | 
|---|
| Nested classes/interfaces inherited from interface rice.p2p.scribe.ScribePolicy | 
|---|
ScribePolicy.DefaultScribePolicy, ScribePolicy.LimitedScribePolicy | 
| Field Summary | |
|---|---|
protected  Environment | 
environment
 | 
| Constructor Summary | |
|---|---|
ScribePolicy.DefaultScribePolicy(Environment env)
 | 
|
| Method Summary | |
|---|---|
 java.util.List<Topic> | 
allowSubscribe(Scribe scribe,
               NodeHandle source,
               java.util.List<Topic> topics,
               ScribeContent content)
If you don't override the deprecated allowSubscribe(), This method always return true;  | 
 boolean | 
allowSubscribe(SubscribeMessage message,
               ScribeClient[] clients,
               NodeHandle[] children)
This method should be deprecated, but is here for reverse compatibility.  | 
 void | 
childAdded(Topic topic,
           NodeHandle child)
Informs this policy that a child was added to a topic - the topic is free to ignore this upcall if it doesn't care.  | 
 void | 
childRemoved(Topic topic,
             NodeHandle child)
Informs this policy that a child was removed from a topic - the topic is free to ignore this upcall if it doesn't care.  | 
 void | 
directAnycast(AnycastMessage message,
              NodeHandle parent,
              java.util.Collection<NodeHandle> theChildren)
Simply adds the parent and children in order, which implements a depth-first-search.  | 
 ScribeContent | 
divideContent(java.util.List<Topic> theTopics,
              ScribeContent content)
This method is called when the ScribeImpl splits a SubscribeMessage into multiple parts.  | 
 void | 
intermediateNode(ScribeMessage message)
This is invoked whenever this message arrives on any overlay node, this gives the ScribeClient's power to tap into some datastructures they might wanna edit  | 
 void | 
recvAnycastFail(Topic topic,
                NodeHandle failedAtNode,
                ScribeContent content)
This notifies us when we receive a failure for a anycast  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected Environment environment
| Constructor Detail | 
|---|
public ScribePolicy.DefaultScribePolicy(Environment env)
| Method Detail | 
|---|
public java.util.List<Topic> allowSubscribe(Scribe scribe,
                                            NodeHandle source,
                                            java.util.List<Topic> topics,
                                            ScribeContent content)
allowSubscribe in interface ScribePolicymessage - The subscribe message in questionchildren - The list of children who are currently subscribedclients - The list of clients are are currently subscribed
public boolean allowSubscribe(SubscribeMessage message,
                              ScribeClient[] clients,
                              NodeHandle[] children)
message - clients - children - 
public void directAnycast(AnycastMessage message,
                          NodeHandle parent,
                          java.util.Collection<NodeHandle> theChildren)
directAnycast in interface ScribePolicymessage - The anycast message in questionparent - Our current parent for this message's topicchildren - Our current children for this message's topic
public void childAdded(Topic topic,
                       NodeHandle child)
childAdded in interface ScribePolicytopic - The topic to unsubscribe fromchild - The child that was added
public void childRemoved(Topic topic,
                         NodeHandle child)
childRemoved in interface ScribePolicytopic - The topic to unsubscribe fromchild - The child that was removedpublic void intermediateNode(ScribeMessage message)
ScribePolicy
intermediateNode in interface ScribePolicy
public void recvAnycastFail(Topic topic,
                            NodeHandle failedAtNode,
                            ScribeContent content)
ScribePolicy
recvAnycastFail in interface ScribePolicy
public ScribeContent divideContent(java.util.List<Topic> theTopics,
                                   ScribeContent content)
ScribePolicy
divideContent in interface ScribePolicytheTopics - topics going to a particular locationcontent - the content that may need to be divided
  | 
Rice Pastry API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||