Interface IntReceivePort

  • All Superinterfaces:
    java.lang.AutoCloseable, Port<java.lang.Integer>, PortAutoCloseable, ReceivePort<java.lang.Integer>
    All Known Subinterfaces:
    IntChannel
    All Known Implementing Classes:
    QueueIntChannel

    public interface IntReceivePort
    extends ReceivePort<java.lang.Integer>
    A primitive int channel's consumer-side interface. All methods of this interface must only be called by the channel's owner.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean hasMessage()
      Tests whether a value is pending in the channel.
      int receiveInt()
      Retrieves a message from the channels, possibly blocking until one becomes available.
      int receiveInt​(long timeout, java.util.concurrent.TimeUnit unit)
      Retrieves a message from the channels, possibly blocking until one becomes available, but no longer than the specified timeout.
      int receiveInt​(Timeout timeout)
      Retrieves a message from the channels, possibly blocking until one becomes available, but no longer than the specified timeout.
    • Method Detail

      • receiveInt

        int receiveInt​(long timeout,
                       java.util.concurrent.TimeUnit unit)
                throws SuspendExecution,
                       java.lang.InterruptedException,
                       java.util.concurrent.TimeoutException,
                       ReceivePort.EOFException
        Retrieves a message from the channels, possibly blocking until one becomes available, but no longer than the specified timeout. If the channel has been closed and no more messages await, this method throws an ReceivePort.EOFException.
        Parameters:
        timeout - the maximum duration to block waiting for a message.
        unit - the time unit of the timeout.
        Returns:
        a message. (see PortAutoCloseable.isClosed()), or if the timeout has expired.
        Throws:
        java.util.concurrent.TimeoutException - if the timeout has expired
        ReceivePort.EOFException - if the channel has been closed and no more messages await
        java.lang.InterruptedException
        SuspendExecution
      • receiveInt

        int receiveInt​(Timeout timeout)
                throws SuspendExecution,
                       java.lang.InterruptedException,
                       java.util.concurrent.TimeoutException,
                       ReceivePort.EOFException
        Retrieves a message from the channels, possibly blocking until one becomes available, but no longer than the specified timeout. If the channel has been closed and no more messages await, this method throws an ReceivePort.EOFException.
        Parameters:
        timeout - the method will not block for longer than the amount remaining in the Timeout
        Returns:
        a message. (see PortAutoCloseable.isClosed()), or if the timeout has expired.
        Throws:
        java.util.concurrent.TimeoutException - if the timeout has expired
        ReceivePort.EOFException - if the channel has been closed and no more messages await
        java.lang.InterruptedException
        SuspendExecution
      • hasMessage

        boolean hasMessage()
        Tests whether a value is pending in the channel. If it is, the next call to receiveDouble is guaranteed not to block.
        Returns:
        true if a value is waiting in the channel; false otherwise.