Package org.apfloat.internal
Class MessagePasser<K,V>
- java.lang.Object
-
- org.apfloat.internal.MessagePasser<K,V>
-
- Type Parameters:
K- The receiver type for this message passer.V- The message type for this message passer.
public class MessagePasser<K,V> extends java.lang.ObjectMessage passing helper class for parallel codes. The message passer can hold one message for each receiver. This class is safe for concurrent use from multiple threads.- Since:
- 1.6
- Version:
- 1.14.0
-
-
Constructor Summary
Constructors Constructor Description MessagePasser()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VgetMessage(K receiver)Get a message if one is available.VreceiveMessage(K receiver)Receive a message.voidsendMessage(K receiver, V message)Send a message.
-
-
-
Method Detail
-
sendMessage
public void sendMessage(K receiver, V message)
Send a message.- Parameters:
receiver- The receiver.message- The message. Must not benull.
-
getMessage
public V getMessage(K receiver)
Get a message if one is available. This method will not block.- Parameters:
receiver- The receiver.- Returns:
- The message, or
nullif none is available.
-
receiveMessage
public V receiveMessage(K receiver) throws ApfloatRuntimeException
Receive a message. This method will block until a message is available.- Parameters:
receiver- The receiver.- Returns:
- The message.
- Throws:
ApfloatRuntimeException
-
-