|
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 | |||||||||