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

io.scalecube.cluster.ICluster Maven / Gradle / Ivy

package io.scalecube.cluster;

import io.scalecube.cluster.gossip.IGossipProtocol;
import io.scalecube.transport.Message;

import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;

import rx.Observable;

/**
 * Basic cluster interface which allows to join cluster, send message to other member, listen messages, gossip messages.
 * 
 * @author Anton Kharenko
 */
public interface ICluster {

  void send(ClusterMember member, Message message);

  void send(ClusterMember member, Message message, SettableFuture promise);

  Observable listen();

  IGossipProtocol gossip();

  IClusterMembership membership();

  ListenableFuture join();

  ICluster joinAwait();

  ListenableFuture leave();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy