Package org.apfloat.samples
Class PiDistributed.Node
java.lang.Object
org.apfloat.samples.RemoteOperationExecutor
org.apfloat.samples.PiDistributed.Node
- All Implemented Interfaces:
Comparable<PiDistributed.Node>,OperationExecutor
- Enclosing class:
PiDistributed
protected static class PiDistributed.Node
extends RemoteOperationExecutor
implements Comparable<PiDistributed.Node>
RemoteOperationExecutor that implements the weight property.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(PiDistributed.Node that) Compare this Node to another Node.<T> TExecute an operation remotely.<T> BackgroundOperation<T> executeBackground(Operation<T> operation) Execute an operation remotely.intGet the number of processors.intReturns the relative weight of this executor.voidsetNumberOfProcessors(int numberOfProcessors) Set the number of processors.voidsetWeight(int weight) Set the weight.toString()Convert to String.Methods inherited from class org.apfloat.samples.RemoteOperationExecutor
getHost, getPort
-
Constructor Details
-
Node
Construct a Node with the specified parameters and one processor.- Parameters:
host- The remote host.port- The remote port.weight- The weight.
-
Node
Construct a Node with the specified parameters.- Parameters:
host- The remote host.port- The remote port.weight- The weight.numberOfProcessors- The number of processors.
-
-
Method Details
-
execute
Description copied from class:RemoteOperationExecutorExecute an operation remotely. This method will block until the return value has been received.- Specified by:
executein interfaceOperationExecutor- Overrides:
executein classRemoteOperationExecutor- Type Parameters:
T- Return value type of the operation.- Parameters:
operation- The operation to execute remotely.- Returns:
- The result of the operation.
-
executeBackground
Description copied from class:RemoteOperationExecutorExecute an operation remotely. This method starts a new thread running the remote call and returns immediately.- Specified by:
executeBackgroundin interfaceOperationExecutor- Overrides:
executeBackgroundin classRemoteOperationExecutor- Type Parameters:
T- Return value type of the operation.- Parameters:
operation- The operation to execute remotely.- Returns:
- A
BackgroundOperationfor retrieving the result of the operation later.
-
setWeight
public void setWeight(int weight) Set the weight.- Parameters:
weight- The weight.
-
getWeight
public int getWeight()Description copied from interface:OperationExecutorReturns the relative weight of this executor. The weights of different operation executors can be used to distribute work more equally.- Specified by:
getWeightin interfaceOperationExecutor- Overrides:
getWeightin classRemoteOperationExecutor- Returns:
- The relative weight of this operation executor.
-
setNumberOfProcessors
public void setNumberOfProcessors(int numberOfProcessors) Set the number of processors.- Parameters:
numberOfProcessors- The number of processors.
-
getNumberOfProcessors
public int getNumberOfProcessors()Get the number of processors.- Returns:
- The number of processors.
-
compareTo
Compare this Node to another Node.- Specified by:
compareToin interfaceComparable<PiDistributed.Node>- Parameters:
that- The other node to compare to.- Returns:
- A number less than zero if this Node should be ordered before the other node, or gerater than zero for the reverse order. Should not return zero.
-
toString
-