Class 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 Object
    Message 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.9.0
    Author:
    Mikko Tommila
    • Constructor Detail

      • MessagePasser

        public MessagePasser()
        Default constructor.
    • Method Detail

      • sendMessage

        public void sendMessage​(K receiver,
                                V message)
        Send a message.
        Parameters:
        receiver - The receiver.
        message - The message. Must not be null.
      • 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 null if 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