package com.dianping.puma.alarm.ha;
import com.dianping.puma.alarm.exception.PumaAlarmServerLeaderManageException;
import com.dianping.puma.common.PumaLifeCycle;
/**
* Created by xiaotian.li on 16/4/5.
* Email: lixiaotian07@gmail.com
*/
public interface PumaAlarmServerLeaderManager extends PumaLifeCycle {
String findLeader() throws PumaAlarmServerLeaderManageException;
boolean tryTakeLeader() throws PumaAlarmServerLeaderManageException;
void releaseLeader() throws PumaAlarmServerLeaderManageException;
void addLeaderChangeListener(LeaderChangeListener listener);
}