DATA
- The type of the datagram to be operated with. In case you wish
to use array types, you might better use the BlockReceiver
type.public interface DatagramReceiver<DATA extends Serializable> extends Receivable
DatagramReceiver
is used to receive datagrams in a unified way.
The readDatagram()
method provides the next available datagram from
the counterpart DatagramSender
; in case there is none available, then
this method halts until one is available or the DatagramReceiver
is
being shut down or the underlying connection is closed. The
Receivable.hasDatagram()
method returns true in case a next datagram can be
fetched via the readDatagram()
method from the
DatagramReceiver
counterpart.org.refcodes.component.ConnectableComponent.ConnectableAutomaton
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
org.refcodes.component.Closable.CloseAutomaton
Modifier and Type | Method and Description |
---|---|
DATA |
readDatagram()
Reads (receives) the next datagram passed from a
DatagramSender
counterpart. |
hasDatagram
DATA readDatagram() throws org.refcodes.component.OpenException, InterruptedException
DatagramSender
counterpart. In case none datagram is available, then this method blocks
until one is available. To prevent blocking, use the
Receivable.hasDatagram()
method to test beforehand whether a datagram is
available (in a multi threaded usage scenario, Receivable.hasDatagram()
is
not a reliable indicator whether this method will block or not).
When a Thread
is waiting for a datagram to be read and
Thread.interrupt()
is being called, then the operation is aborted
and an InterruptedException
is thrown.DatagramSender
counterpart.org.refcodes.component.OpenException
- Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.InterruptedException
- Thrown when a Thread
is waiting,
sleeping, or otherwise occupied, and the Thread
is
interrupted, either before or during the activity.Copyright © 2016. All rights reserved.