Package org.apfloat.samples
Class PiDistributed.Node
- java.lang.Object
-
- org.apfloat.samples.RemoteOperationExecutor
-
- org.apfloat.samples.PiDistributed.Node
-
- All Implemented Interfaces:
java.lang.Comparable<PiDistributed.Node>,OperationExecutor
- Enclosing class:
- PiDistributed
protected static class PiDistributed.Node extends RemoteOperationExecutor implements java.lang.Comparable<PiDistributed.Node>
RemoteOperationExecutor that implements the weight property.
-
-
Field Summary
Fields Modifier and Type Field Description private intnumberOfProcessorsprivate intweight
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(PiDistributed.Node that)Compare this Node to another Node.<T> Texecute(Operation<T> operation)Execute an operation remotely.<T> BackgroundOperation<T>executeBackground(Operation<T> operation)Execute an operation remotely.intgetNumberOfProcessors()Get the number of processors.intgetWeight()Returns the relative weight of this executor.voidsetNumberOfProcessors(int numberOfProcessors)Set the number of processors.voidsetWeight(int weight)Set the weight.java.lang.StringtoString()Convert to String.-
Methods inherited from class org.apfloat.samples.RemoteOperationExecutor
getHost, getPort
-
-
-
-
Constructor Detail
-
Node
public Node(java.lang.String host, int port, int weight)Construct a Node with the specified parameters and one processor.- Parameters:
host- The remote host.port- The remote port.weight- The weight.
-
Node
public Node(java.lang.String host, int port, int weight, int numberOfProcessors)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 Detail
-
execute
public <T> T execute(Operation<T> operation)
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
public <T> BackgroundOperation<T> executeBackground(Operation<T> operation)
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
public int compareTo(PiDistributed.Node that)
Compare this Node to another Node.- Specified by:
compareToin interfacejava.lang.Comparable<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
public java.lang.String toString()
Convert to String.- Overrides:
toStringin classjava.lang.Object- Returns:
- The string representation.
-
-