public class SequentialMultiplexDistributor extends SimpleMultiplexDistributor
Modifier and Type | Field and Description |
---|---|
protected java.util.List<IService> |
busyservices
The list of busy services.
|
protected java.util.List<IService> |
freeservices
The list of free services.
|
protected java.util.Iterator<java.lang.Object[]> |
itargs
The arguments.
|
protected java.util.List<Future<IService>> |
waitingcalls
The waiting for service calls.
|
Constructor and Description |
---|
SequentialMultiplexDistributor() |
Modifier and Type | Method and Description |
---|---|
void |
addService(IService service)
Add a new service.
|
void |
checkPerformCall(IService service)
Check perform call.
|
protected void |
freeService(IService service) |
protected java.util.Iterator<java.lang.Object[]> |
getArgumentIterator()
Get the argument iterator.
|
java.lang.Object[] |
getArguments()
Get the arguments for a call.
|
protected IFuture<IService> |
getFreeService(IService service)
Get the service for a call.
|
boolean |
hasArguments()
Test if has arguments.
|
IIntermediateFuture<java.lang.Object> |
init(java.lang.reflect.Method method,
java.lang.Object[] args,
IFilter<Tuple2<IService,java.lang.Object[]>> filter,
IParameterConverter conv)
Start the distributor.
|
void |
serviceSearchFinished()
Notify that the search has finished.
|
performCall
protected java.util.Iterator<java.lang.Object[]> itargs
protected java.util.List<IService> freeservices
protected java.util.List<IService> busyservices
public IIntermediateFuture<java.lang.Object> init(java.lang.reflect.Method method, java.lang.Object[] args, IFilter<Tuple2<IService,java.lang.Object[]>> filter, IParameterConverter conv)
init
in interface IMultiplexDistributor
init
in class SimpleMultiplexDistributor
public void addService(IService service)
addService
in interface IMultiplexDistributor
addService
in class SimpleMultiplexDistributor
service
- The service.public void serviceSearchFinished()
serviceSearchFinished
in interface IMultiplexDistributor
serviceSearchFinished
in class SimpleMultiplexDistributor
protected java.util.Iterator<java.lang.Object[]> getArgumentIterator()
public java.lang.Object[] getArguments()
getArguments
in class SimpleMultiplexDistributor
public boolean hasArguments()
protected IFuture<IService> getFreeService(IService service)
protected void freeService(IService service)
public void checkPerformCall(IService service)
checkPerformCall
in class SimpleMultiplexDistributor