Class AtomixLeaderElector

  • All Implemented Interfaces:
    org.onosproject.store.service.AsyncLeaderElector, org.onosproject.store.service.DistributedPrimitive

    public class AtomixLeaderElector
    extends Object
    implements org.onosproject.store.service.AsyncLeaderElector
    Atomix leader elector.
    • Constructor Detail

      • AtomixLeaderElector

        public AtomixLeaderElector​(io.atomix.core.election.AsyncLeaderElector<org.onosproject.cluster.NodeId> atomixElector,
                                   org.onosproject.cluster.NodeId localNodeId)
    • Method Detail

      • name

        public String name()
        Specified by:
        name in interface org.onosproject.store.service.DistributedPrimitive
      • run

        public CompletableFuture<org.onosproject.cluster.Leadership> run​(String topic,
                                                                         org.onosproject.cluster.NodeId nodeId)
        Specified by:
        run in interface org.onosproject.store.service.AsyncLeaderElector
      • withdraw

        public CompletableFuture<Void> withdraw​(String topic)
        Specified by:
        withdraw in interface org.onosproject.store.service.AsyncLeaderElector
      • anoint

        public CompletableFuture<Boolean> anoint​(String topic,
                                                 org.onosproject.cluster.NodeId nodeId)
        Specified by:
        anoint in interface org.onosproject.store.service.AsyncLeaderElector
      • evict

        public CompletableFuture<Void> evict​(org.onosproject.cluster.NodeId nodeId)
        Specified by:
        evict in interface org.onosproject.store.service.AsyncLeaderElector
      • promote

        public CompletableFuture<Boolean> promote​(String topic,
                                                  org.onosproject.cluster.NodeId nodeId)
        Specified by:
        promote in interface org.onosproject.store.service.AsyncLeaderElector
      • getLeadership

        public CompletableFuture<org.onosproject.cluster.Leadership> getLeadership​(String topic)
        Specified by:
        getLeadership in interface org.onosproject.store.service.AsyncLeaderElector
      • getLeaderships

        public CompletableFuture<Map<String,​org.onosproject.cluster.Leadership>> getLeaderships()
        Specified by:
        getLeaderships in interface org.onosproject.store.service.AsyncLeaderElector
      • addChangeListener

        public CompletableFuture<Void> addChangeListener​(Consumer<org.onosproject.event.Change<org.onosproject.cluster.Leadership>> consumer)
        Specified by:
        addChangeListener in interface org.onosproject.store.service.AsyncLeaderElector
      • removeChangeListener

        public CompletableFuture<Void> removeChangeListener​(Consumer<org.onosproject.event.Change<org.onosproject.cluster.Leadership>> consumer)
        Specified by:
        removeChangeListener in interface org.onosproject.store.service.AsyncLeaderElector