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