package hdgl.db.protocol;
import hdgl.db.exception.BadQueryException;
import org.apache.hadoop.ipc.ProtocolInfo;
@ProtocolInfo(protocolName = "ClientMasterProtocol", protocolVersion=1)
public interface ClientMasterProtocol{
public RegionMapWritable getRegions();
/**
* Find best places for given entity
* @param id
* @return an array contains region id
*/
public int[] findEntity(long id);
public int prepareQuery(String query) throws BadQueryException;
/**
* start a query
* @param queryId
* @return a group of region ids
*/
public int[] query(int queryId);
/**
* finish a query. which stops all running query parts and clears the query result.
* @param queryId
*/
public void completeQuery(int queryId);
}