All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.vlingo.cluster.model.node.Registry Maven / Gradle / Ivy

Go to download

Cluster management for reactive, scalable resiliency of JVM tools and applications running on VLINGO XOOM Actors.

There is a newer version: 1.7.5
Show newest version
// Copyright © 2012-2020 VLINGO LABS. All rights reserved.
//
// This Source Code Form is subject to the terms of the
// Mozilla Public License, v. 2.0. If a copy of the MPL
// was not distributed with this file, You can obtain
// one at https://mozilla.org/MPL/2.0/.

package io.vlingo.cluster.model.node;

import java.util.Collection;
import java.util.Set;

import io.vlingo.wire.node.Id;
import io.vlingo.wire.node.Node;

public interface Registry {
  void cleanTimedOutNodes();
  void confirmAllLiveNodesByLeader();
  boolean isConfirmedByLeader(final Id id);
  Node currentLeader();
  void declareLeaderAs(final Id id);
  void demoteLeaderOf(final Id id);
  boolean isLeader(final Id id);
  boolean hasLeader();
  Set liveNodes();
  boolean hasMember(final Id id);
  boolean hasQuorum();
  void join(Node node);
  void leave(final Id id);
  void mergeAllDirectoryEntries(final Collection nodes);
  void promoteElectedLeader(final Id leaderNodeId);
  void registerRegistryInterest(final RegistryInterest interest);
  void updateLastHealthIndication(final Id id);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy