Interface LongReceivePort
-
- All Superinterfaces:
java.lang.AutoCloseable
,Port<java.lang.Long>
,PortAutoCloseable
,ReceivePort<java.lang.Long>
- All Known Subinterfaces:
LongChannel
- All Known Implementing Classes:
QueueLongChannel
public interface LongReceivePort extends ReceivePort<java.lang.Long>
A primitivelong
channel's consumer-side interface. All methods of this interface must only be called by the channel's owner.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface co.paralleluniverse.strands.channels.ReceivePort
ReceivePort.EOFException
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
hasMessage()
Tests whether a value is pending in the channel.long
receiveLong()
Retrieves a message from the channels, possibly blocking until one becomes available.long
receiveLong(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.long
receiveLong(Timeout timeout)
Retrieves a message from the channels, possibly blocking until one becomes available, but no longer than the specified timeout.-
Methods inherited from interface co.paralleluniverse.strands.channels.PortAutoCloseable
close, isClosed
-
Methods inherited from interface co.paralleluniverse.strands.channels.ReceivePort
receive, receive, receive, tryReceive
-
-
-
-
Method Detail
-
receiveLong
long receiveLong() throws SuspendExecution, java.lang.InterruptedException, ReceivePort.EOFException
Retrieves a message from the channels, possibly blocking until one becomes available. If the channel has been closed and no more messages await, this method throws anReceivePort.EOFException
.- Returns:
- a message.
- Throws:
ReceivePort.EOFException
- if the channel has been closed and no more messages awaitjava.lang.InterruptedException
SuspendExecution
-
receiveLong
long receiveLong(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 anReceivePort.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 expiredReceivePort.EOFException
- if the channel has been closed and no more messages awaitjava.lang.InterruptedException
SuspendExecution
-
receiveLong
long receiveLong(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 anReceivePort.EOFException
.- Parameters:
timeout
- the method will not block for longer than the amount remaining in theTimeout
- Returns:
- a message. (see
PortAutoCloseable.isClosed()
), or if the timeout has expired. - Throws:
java.util.concurrent.TimeoutException
- if the timeout has expiredReceivePort.EOFException
- if the channel has been closed and no more messages awaitjava.lang.InterruptedException
SuspendExecution
-
hasMessage
boolean hasMessage()
Tests whether a value is pending in the channel. If it is, the next call toreceiveDouble
is guaranteed not to block.- Returns:
true
if a value is waiting in the channel;false
otherwise.
-
-