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

io.scalecube.cluster.gossip.IGossipProtocol Maven / Gradle / Ivy

There is a newer version: 2.7.1
Show newest version
package io.scalecube.cluster.gossip;

import io.scalecube.transport.Message;

import rx.Observable;

/**
 * Gossip Protocol component responsible for spreading information (gossips) over the cluster members using
 * infection-style dissemination algorithms. It provides reliable cross-cluster broadcast.
 *
 * @author Anton Kharenko
 */
public interface IGossipProtocol {

  /**
   * Starts running gossip protocol. After started it begins to receive and send gossip messages
   */
  void start();

  /**
   * Stops running gossip protocol and releases occupied resources.
   */
  void stop();

  /**
   * Spreads given message between cluster members.
   */
  void spread(Message message);

  /**
   * Listens for gossips from other cluster members.
   */
  Observable listen();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy