package com.netflix.priam.agent;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import java.io.IOException;
import java.util.List;
public interface NodeStatus
{
public JSONObject info() throws JSONException;
public boolean isJoined();
public String getEndpoint();
public int getExceptionCount();
public List<String> getLiveNodes();
public List<String> getMovingNodes();
public List<String> getJoiningNodes();
public List<String> getUnreachableNodes();
public String getOperationMode();
public String getGossipInfo();
public int getCompactionThroughput();
public void invalidateKeyCache() throws Exception;
public void compact() throws Exception;
public void decommission() throws Exception;
public void cleanup() throws Exception;
public void joinRing() throws IOException;
public void refresh(List<String> keyspaces) throws Exception;
public void removeNode(String token) throws Exception;
public void startThriftServer() throws Exception;
public void move(String token) throws Exception;
public void flush() throws Exception;
public void repair(boolean sequential, boolean localDataCenterOnly) throws Exception;
public void invalidateRowCache() throws Exception;
public void stopGossiping() throws Exception;
public void startGossiping() throws Exception;
public void stopThriftServer() throws Exception;
public void drain() throws Exception;
}