commit | 0c0cdc6de7afa3dcdd40d666a631fd3684d7c218 | [log] [tgz] |
---|---|---|
author | Madan Jampani <madan.jampani@gmail.com> | Mon Feb 22 16:54:06 2016 -0800 |
committer | Gerrit Code Review <gerrit@onlab.us> | Wed Feb 24 00:15:14 2016 +0000 |
tree | 2e3fb6b961ba39d2a28e60be6c936a9826bf4bfb | |
parent | 48bf76c8a5de71d4338e6eaa4ae3c9a2843147fe [diff] [blame] |
AsyncLeaderElector APIs in support for mastership balancing Change-Id: Ia235c6a18c54490dc49ca13e2caebf70b750dbc7
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PartitionedAsyncLeaderElector.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PartitionedAsyncLeaderElector.java index e364a7e..27c92ec 100644 --- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PartitionedAsyncLeaderElector.java +++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PartitionedAsyncLeaderElector.java
@@ -70,6 +70,18 @@ } @Override + public CompletableFuture<Boolean> promote(String topic, NodeId nodeId) { + return getLeaderElector(topic).promote(topic, nodeId); + } + + @Override + public CompletableFuture<Void> evict(NodeId nodeId) { + return CompletableFuture.allOf(getLeaderElectors().stream() + .map(le -> le.evict(nodeId)) + .toArray(CompletableFuture[]::new)); + } + + @Override public CompletableFuture<Leadership> getLeadership(String topic) { return getLeaderElector(topic).getLeadership(topic); }