package com.fourinone;
public abstract class ContractorParallel extends ParallelService
{
private int parallelPatternFlag = ConfigContext.getParallelPattern();
//from workservice or park: WorkerServiceProxy/WorkerParkProxy(static ParkProxy/ParkLocal; workerType/nodename doTask)
protected WorkerLocal[] getWaitingWorkers(String workerType)
{
//return parallelPatternFlag==0?getWaitingWorkersFromService(workerType):getWaitingWorkersFromPark(workerType);
return getWaitingWorkers(workerType,null);
}
WorkerLocal[] getWaitingWorkers(String workerType, MigrantWorker mw)//protected
{
return parallelPatternFlag==0?getWaitingWorkersFromService(workerType, mw):getWaitingWorkersFromPark(workerType);
}
public void waitWorking(String host, int port, String workerType){
ContractorService ctorsv = new ContractorService(this);
ctorsv.waitWorking(host,port,workerType);
}
public void waitWorking(String workerType){
ContractorService ctorsv = new ContractorService(this);
ctorsv.waitWorking(workerType);
}
public void exit(){
PoolExector.close();
}
abstract WorkerLocal[] getWaitingWorkersFromService(String workerType, MigrantWorker mw);
abstract WorkerLocal[] getWaitingWorkersFromService(String workerType);
abstract WorkerLocal[] getWaitingWorkersFromPark(String workerType);
abstract WareHouse[] doTaskBatch(WareHouse wh);
abstract WareHouse[] doTaskBatch(WorkerLocal[] wks, WareHouse wh);
abstract WareHouse[] doTaskCompete(WorkerLocal[] wks, WareHouse[] tasks);
abstract WorkerLocal[] getLocalWorkers(int num);
public abstract WareHouse giveTask(WareHouse inhouse);
}