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 TypeMethodDescriptionint
compareTo
(PiDistributed.Node that) Compare this Node to another Node.<T> T
Execute an operation remotely.<T> BackgroundOperation
<T> executeBackground
(Operation<T> operation) Execute an operation remotely.int
Get the number of processors.int
Returns the relative weight of this executor.void
setNumberOfProcessors
(int numberOfProcessors) Set the number of processors.void
setWeight
(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:RemoteOperationExecutor
Execute an operation remotely. This method will block until the return value has been received.- Specified by:
execute
in interfaceOperationExecutor
- Overrides:
execute
in 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:RemoteOperationExecutor
Execute an operation remotely. This method starts a new thread running the remote call and returns immediately.- Specified by:
executeBackground
in interfaceOperationExecutor
- Overrides:
executeBackground
in classRemoteOperationExecutor
- Type Parameters:
T
- Return value type of the operation.- Parameters:
operation
- The operation to execute remotely.- Returns:
- A
BackgroundOperation
for 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:OperationExecutor
Returns the relative weight of this executor. The weights of different operation executors can be used to distribute work more equally.- Specified by:
getWeight
in interfaceOperationExecutor
- Overrides:
getWeight
in 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:
compareTo
in 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
-