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.BidirectionalConnectionTransceiver<DATA,INPUT,OUTPUT>, BidirectionalStreamConnectionTransceiver<DATA>, ConnectionReceiver<DATA,CON>, ConnectionTransceiver<DATA,CON>, DatagramReceiver<DATA>, DatagramTransceiver<DATA>, InputStreamConnectionReceiver<DATA>, LoopbackReceiver<DATA>, LoopbackTransceiver<DATA>, Provider<DATA>, Receiver<DATA>, Transceiver<DATA>AbstractInputStreamReceiver, AbstractPrefetchInputStreamReceiver, AbstractReceiver, BidirectionalStreamConnectionTransceiverImpl, BidirectionalStreamTransceiverImpl, InputStreamConnectionReceiverImpl, InputStreamReceiverImpl, LoopbackReceiverImpl, LoopbackTransceiverImpl, PrefetchBidirectionalStreamConnectionTransceiverImpl, PrefetchBidirectionalStreamTransceiverImpl, PrefetchInputStreamConnectionReceiverImpl, PrefetchInputStreamReceiverImpl, ReceiverDecorator@FunctionalInterface public interface DatagramProvider<DATA extends Serializable>
DatagramProvider is used to receive datagrams in a unified way.
The readDatagram() method provides the next available datagram from
the counterpart DatagramConsumer; in case there is none available.| Modifier and Type | Method | Description |
|---|---|---|
DATA |
readDatagram() |
Reads (receives) the next datagram passed from a
DatagramSender
counterpart. |
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 DatagramReceiver extension's
Receivable.hasDatagram() method to test beforehand whether
a byte 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 © 2018. All rights reserved.