rice.p2p.scribe.maintenance
Class ScribeMaintenancePolicy.DefaultScribeMaintenancePolicy
java.lang.Object
rice.p2p.scribe.maintenance.ScribeMaintenancePolicy.DefaultScribeMaintenancePolicy
- All Implemented Interfaces:
- ScribeMaintenancePolicy
- Enclosing interface:
- ScribeMaintenancePolicy
public static class ScribeMaintenancePolicy.DefaultScribeMaintenancePolicy
- extends java.lang.Object
- implements ScribeMaintenancePolicy
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ScribeMaintenancePolicy.DefaultScribeMaintenancePolicy
public ScribeMaintenancePolicy.DefaultScribeMaintenancePolicy(Environment environment)
doMaintenance
public void doMaintenance(MaintainableScribe scribe)
- Description copied from interface:
ScribeMaintenancePolicy
- Called periodically.
Can be specified in millis by by the parameter:
p2p_scribe_maintenance_interval (default 180000) // 3 minutes
- Specified by:
doMaintenance
in interface ScribeMaintenancePolicy
noLongerRoot
public void noLongerRoot(MaintainableScribe scribe,
java.util.List<Topic> topics)
- Description copied from interface:
ScribeMaintenancePolicy
- Called when membership changes "near" the local node, in overlay space.
The typical use of this function would be to detect if the root has
changed and subscribe to the new root, like this:
for (Topic topic : topics) {
scribe.subscribe(topic);
}
Note however that this approach can cause a long tail at the head of the tree.
- Specified by:
noLongerRoot
in interface ScribeMaintenancePolicy
nodeFaulty
public void nodeFaulty(MaintainableScribe scribe,
NodeHandle node,
java.util.List<Topic> nodeWasParent,
java.util.List<Topic> nodeWasChild)
- Description copied from interface:
ScribeMaintenancePolicy
- When anyone in any Topic (child or parent) is detected faulty.
for (Topic topic : nodeWasParent) {
if (!isRoot(topic)) {
scribe.subscribe(topic);
}
}
- Specified by:
nodeFaulty
in interface ScribeMaintenancePolicy
subscribeFailed
public void subscribeFailed(MaintainableScribe scribe,
java.util.List<Topic> failedTopics)
- Description copied from interface:
ScribeMaintenancePolicy
- The subscription failed. This is called if no particular client requested the Subscription.
TODO: Does this belong in the normal policy instead?
- Specified by:
subscribeFailed
in interface ScribeMaintenancePolicy
Copyright © 2001-2005 - Rice Pastry.