@Service public class DistributedLeadershipManager extends Object implements org.onosproject.cluster.LeadershipService
This implementation makes use of ClusterService's failure detection capabilities to detect and purge stale locks. TODO: Ensure lock safety and liveness.
| Modifier and Type | Field and Description |
|---|---|
protected org.onosproject.store.cluster.messaging.ClusterCommunicationService |
clusterCommunicator |
protected org.onosproject.cluster.ClusterService |
clusterService |
protected org.onosproject.event.EventDeliveryService |
eventDispatcher |
protected org.onosproject.store.service.StorageService |
storageService |
| Constructor and Description |
|---|
DistributedLeadershipManager() |
| Modifier and Type | Method and Description |
|---|---|
void |
activate() |
void |
addListener(org.onosproject.cluster.LeadershipEventListener listener) |
void |
deactivate() |
Map<String,List<org.onosproject.cluster.NodeId>> |
getCandidates() |
List<org.onosproject.cluster.NodeId> |
getCandidates(String path) |
org.onosproject.cluster.NodeId |
getLeader(String path) |
Map<String,org.onosproject.cluster.Leadership> |
getLeaderBoard() |
org.onosproject.cluster.Leadership |
getLeadership(String path) |
boolean |
makeTopCandidate(String path,
org.onosproject.cluster.NodeId nodeId) |
Set<String> |
ownedTopics(org.onosproject.cluster.NodeId nodeId) |
void |
removeListener(org.onosproject.cluster.LeadershipEventListener listener) |
CompletableFuture<org.onosproject.cluster.Leadership> |
runForLeadership(String path) |
boolean |
stepdown(String path) |
CompletableFuture<Void> |
withdraw(String path) |
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.store.service.StorageService storageService
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.cluster.ClusterService clusterService
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.store.cluster.messaging.ClusterCommunicationService clusterCommunicator
@Reference(cardinality=MANDATORY_UNARY) protected org.onosproject.event.EventDeliveryService eventDispatcher
@Activate public void activate()
@Deactivate public void deactivate()
public Map<String,org.onosproject.cluster.Leadership> getLeaderBoard()
getLeaderBoard in interface org.onosproject.cluster.LeadershipServicepublic Map<String,List<org.onosproject.cluster.NodeId>> getCandidates()
getCandidates in interface org.onosproject.cluster.LeadershipServicepublic List<org.onosproject.cluster.NodeId> getCandidates(String path)
getCandidates in interface org.onosproject.cluster.LeadershipServicepublic org.onosproject.cluster.NodeId getLeader(String path)
getLeader in interface org.onosproject.cluster.LeadershipServicepublic org.onosproject.cluster.Leadership getLeadership(String path)
getLeadership in interface org.onosproject.cluster.LeadershipServicepublic Set<String> ownedTopics(org.onosproject.cluster.NodeId nodeId)
ownedTopics in interface org.onosproject.cluster.LeadershipServicepublic CompletableFuture<org.onosproject.cluster.Leadership> runForLeadership(String path)
runForLeadership in interface org.onosproject.cluster.LeadershipServicepublic CompletableFuture<Void> withdraw(String path)
withdraw in interface org.onosproject.cluster.LeadershipServicepublic boolean stepdown(String path)
stepdown in interface org.onosproject.cluster.LeadershipServicepublic void addListener(org.onosproject.cluster.LeadershipEventListener listener)
addListener in interface org.onosproject.cluster.LeadershipServicepublic void removeListener(org.onosproject.cluster.LeadershipEventListener listener)
removeListener in interface org.onosproject.cluster.LeadershipServicepublic boolean makeTopCandidate(String path, org.onosproject.cluster.NodeId nodeId)
makeTopCandidate in interface org.onosproject.cluster.LeadershipServiceCopyright © 2015. All rights reserved.