package com.alipay.bluewhale.core.cluster;
import java.util.List;
import com.alipay.bluewhale.core.callback.RunnableCallback;
import com.alipay.bluewhale.core.daemon.supervisor.SupervisorInfo;
import com.alipay.bluewhale.core.task.common.Assignment;
import com.alipay.bluewhale.core.task.common.TaskInfo;
import com.alipay.bluewhale.core.task.error.TaskError;
import com.alipay.bluewhale.core.task.heartbeat.TaskHeartbeat;
/**
* ����storm��zk�ϵĽڵ���Ϣ
*/
public interface StormClusterState {
public List<String> assignments(RunnableCallback callback);
public Assignment assignment_info(String storm_id,RunnableCallback callback);
public void set_assignment(String stormId, Assignment info) ;
public List<String> active_storms();
public StormBase storm_base(String storm_id,RunnableCallback callback);
public void activate_storm (String storm_id,StormBase storm_base);
public void update_storm (String storm_id,StormStatus new_elems);
public void remove_storm_base (String storm_id);
public void remove_storm (String storm_id);
public List<Integer> task_ids(String stromId);
public void set_task(String storm_id ,int task_id,TaskInfo info);
public TaskInfo task_info(String storm_id,int task_id);
public List<String> task_storms();
public void setup_heartbeats (String storm_id);
public void teardown_heartbeats (String storm_id);
public List<String> heartbeat_storms ();
public List<String> heartbeat_tasks (String storm_id);
public TaskHeartbeat task_heartbeat(String stormId, int taskId) ;
public void task_heartbeat(String stormId, int taskId, TaskHeartbeat info) ;
public void remove_task_heartbeat (String storm_id,int task_id);
public List<String> supervisors (RunnableCallback callback);
public SupervisorInfo supervisor_info (String supervisor_id) ;
public void supervisor_heartbeat (String supervisor_id,SupervisorInfo info);
public void teardown_task_errors (String storm_id);
public List<String> task_error_storms ();
public void report_task_error (String storm_id,int task_id,Throwable error);
public List<TaskError> task_errors (String storm_id,int task_id);
public void disconnect ();
public List<String> drpcs(RunnableCallback callback);
// public DrpcInfo drpc_info(String supervisorId);
// public void drpc_heartbeat(String drpcid, DrpcInfo info);
void higo_heartbeat(String tablename, Integer task, SolrInfo info);
List<Integer> higo_ids(String tablename);
SolrInfo higo_info(String tablename, int taskId);
void higo_remove(String tablename);
void higo_remove_task(String tablename, Integer taskId);
List<String> higo_tableList();
List<Integer> higo_base(String tablename, RunnableCallback callback);
}