package put.consensus;
import java.io.IOException;
import put.consensus.listeners.ConsensusListener;
public interface Consensus {
/**
* Blocking method. Gets the object proposed and decided. Executed on
* default ConsensusDelegateProposer.
*/
void propose(Object obj);
ConsensusDelegateProposer getNewDelegateProposer() throws IOException;
void start() throws IOException;
void addConsensusListener(ConsensusListener listener);
void removeConsensusListener(ConsensusListener listener);
}