org.refcodes.component.Closable
, org.refcodes.component.Closable.CloseAutomaton
, org.refcodes.component.ClosedAccessor
, org.refcodes.component.ConnectableComponent
, org.refcodes.component.ConnectableComponent.ConnectableAutomaton
, org.refcodes.component.ConnectionStatusAccessor
, org.refcodes.component.OpenedAccessor
, Availability
, Receivable
, ShortDestination
, ShortReceiver
, ShortsDestination
, ShortsReceiver
public class ShortsReceiverDecorator extends AbstractShortsReceiver implements ShortsReceiver
ShortsReceiverDecorator
decorates a ShortsDestination
with the additional methods of a ShortsReceiver
making it easy to use
a ShortsDestination
wherever a ShortsReceiver
is expected.
This is a very plain implementation: available()
always returns true
if AbstractShortsReceiver.isOpened()
is true and as long as none of the
receiveShort()
, receiveAllShorts()
or
receiveShorts(int)
methods threw an IOException
(
InterruptedException
). This implementation actually behaves as if
close()
has been called after verifying available()
and
before any of the read methods have been called.AbstractShortsReceiver.ConnectableAutomaton
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
org.refcodes.component.ClosedAccessor.ClosedMutator, org.refcodes.component.ClosedAccessor.ClosedProperty
org.refcodes.component.ConnectableComponent.ConnectableAutomaton
_datagramQueue, DATAGRAM_QUEUE_SIZE
_automaton
Constructor | Description |
---|---|
ShortsReceiverDecorator(ShortsDestination aShortProvider) |
Instantiates a new short receiver decorator.
|
Modifier and Type | Method | Description |
---|---|---|
int |
available() |
Determines the number of available datagram from a
DatagramTransmitter . |
void |
close() |
|
short[] |
receiveAllShorts() |
Reads (receives) the all currently available data.
|
short |
receiveShort() |
Reads (receives) the next short available, in case none short is
available, then this method blocks until one is available.
|
short[] |
receiveShorts(int aMaxLength) |
Similar to
ShortsDestination.receiveAllShorts() though at maximum the amount of
data as provided returned. |
pushDatagram, pushDatagrams, pushDatagrams
getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus
hasAvailable
closeIn, closeQuietly, closeUnchecked
getConnectionStatus, isOpened
alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
receiveShorts
public ShortsReceiverDecorator(ShortsDestination aShortProvider)
aShortProvider
- the short providerpublic short receiveShort() throws IOException
receiveShort
in interface ShortDestination
receiveShort
in interface ShortsDestination
receiveShort
in class AbstractShortsReceiver
ShortsTransmitter
counterpart.IOException
- Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.public int available() throws IOException
DatagramTransmitter
. Use the DatagramDestination
extenison's DatagramDestination.receive()
method for retrieving
available datagrams.available
in interface Availability
available
in class AbstractShortsReceiver
IOException
- Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.public short[] receiveAllShorts() throws IOException
receiveAllShorts
in interface ShortsDestination
receiveAllShorts
in interface ShortsReceiver
receiveAllShorts
in class AbstractShortsReceiver
DatagramsTransmitter
or DatagramReceiver
counterpart.IOException
- Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.public short[] receiveShorts(int aMaxLength) throws IOException
ShortsDestination.receiveAllShorts()
though at maximum the amount of
data as provided returned.receiveShorts
in interface ShortsDestination
receiveShorts
in interface ShortsReceiver
receiveShorts
in class AbstractShortsReceiver
aMaxLength
- The block-size which is not to exceeded by the returned
data. A value of -1 specifies to retrieve all available datagrams
(same behavior as method ShortsDestination.receiveAllShorts()
.DatagramsTransmitter
or DatagramReceiver
counterpart.IOException
- Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.public void close() throws IOException
close
in interface org.refcodes.component.Closable
close
in class AbstractShortsReceiver
IOException
Copyright © 2021. All rights reserved.