Flushable, 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.Flushable, org.refcodes.component.OpenedAccessor, ByteBlockConsumer, ByteBlockProvider, ByteBlockReceiver, ByteBlockSender, ByteConsumer, ByteDatagramConsumer, ByteDatagramProvider, ByteDatagramReceiver, ByteDatagramSender, ByteProvider, ByteReceiver, ByteSender, ByteTransceiver, Receivable, Sendable, org.refcodes.mixin.Releaseablepublic class PrefetchBidirectionalStreamByteTransceiverImpl extends Object implements ByteTransceiver
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.ClosedPropertyorg.refcodes.component.ConnectableComponent.ConnectableAutomatonorg.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusProperty| Constructor | Description |
|---|---|
PrefetchBidirectionalStreamByteTransceiverImpl(InputStream aInputStream,
OutputStream aOutputStream) |
Instantiates a new prefetch bidirectional stream byte transceiver impl.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
close() |
|
void |
flush() |
Flush.
|
org.refcodes.component.ConnectionStatus |
getConnectionStatus() |
|
boolean |
hasDatagram() |
Determines whether a datagram is available from a
DatagramSender. |
boolean |
isClosable() |
|
boolean |
isClosed() |
|
boolean |
isOpened() |
|
byte |
readDatagram() |
Reads (receives) the next byte passed from a
DatagramSender
counterpart. |
byte[] |
readDatagrams() |
Caution: Reads till an
OpenException (or an
InterruptedException in case of blocking till more data is
available) occurs. |
void |
releaseAll() |
|
void |
writeDatagram(byte aDatagram) |
Write datagram.
|
void |
writeDatagrams(byte[] aDatagram) |
Write datagrams.
|
void |
writeDatagrams(byte[] aDatagram,
int aOffset,
int aLength) |
Write datagrams.
|
readDatagramspublic PrefetchBidirectionalStreamByteTransceiverImpl(InputStream aInputStream, OutputStream aOutputStream) throws org.refcodes.component.OpenException
aInputStream - the input streamaOutputStream - the output streamorg.refcodes.component.OpenException - the open exceptionpublic boolean isClosed()
isClosed in interface org.refcodes.component.ClosedAccessorpublic boolean isOpened()
isOpened in interface org.refcodes.component.OpenedAccessorpublic boolean hasDatagram()
throws org.refcodes.component.OpenException
DatagramSender.
Use the DatagramProvider extenison's
DatagramProvider.readDatagram() method for retrieving the
available datagram.hasDatagram in interface Receivableorg.refcodes.component.OpenException - Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.public byte[] readDatagrams()
throws org.refcodes.component.OpenException,
InterruptedException
OpenException (or an
InterruptedException in case of blocking till more data is
available) occurs.
Reads (receives) the next byte block passed from a BlockSender or
DatagramSender counterpart. In case none byte block is available,
then this method blocks until one is available.
When a Thread is waiting for a byte to be read and
Thread.interrupt() is being called, then the operation is aborted
and an InterruptedException is thrown.readDatagrams in interface ByteBlockProviderreadDatagrams in interface ByteProviderreadDatagrams in interface ByteReceiverBlockSender or
DatagramReceiver 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.public org.refcodes.component.ConnectionStatus getConnectionStatus()
getConnectionStatus in interface org.refcodes.component.ConnectionStatusAccessorpublic void releaseAll()
releaseAll in interface org.refcodes.mixin.Releaseablepublic void close()
throws org.refcodes.component.CloseException
close in interface org.refcodes.component.Closableorg.refcodes.component.CloseExceptionpublic byte readDatagram()
throws org.refcodes.component.OpenException,
InterruptedException
DatagramSender
counterpart. In case none byte is available, then this method blocks
until one is available.
To prevent blocking, use the ByteDatagramReceiver 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 byte to be read and
Thread.interrupt() is being called, then the operation is aborted
and an InterruptedException is thrown.readDatagram in interface ByteDatagramProviderByteDatagramSender
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.public void writeDatagrams(byte[] aDatagram)
throws org.refcodes.component.OpenException
writeDatagrams in interface ByteBlockConsumerwriteDatagrams in interface ByteConsumeraDatagram - the datagramorg.refcodes.component.OpenException - the open exceptionpublic void writeDatagrams(byte[] aDatagram,
int aOffset,
int aLength)
throws org.refcodes.component.OpenException
writeDatagrams in interface ByteBlockConsumerwriteDatagrams in interface ByteSenderaDatagram - the datagramaOffset - the offsetaLength - the lengthorg.refcodes.component.OpenException - the open exceptionpublic void writeDatagram(byte aDatagram)
throws org.refcodes.component.OpenException
writeDatagram in interface ByteConsumerwriteDatagram in interface ByteDatagramConsumeraDatagram - the datagramorg.refcodes.component.OpenException - the open exceptionpublic void flush()
throws org.refcodes.component.OpenException
flush in interface ByteSenderflush in interface Flushableflush in interface org.refcodes.component.Flushableorg.refcodes.component.OpenException - the open exceptionpublic boolean isClosable()
isClosable in interface org.refcodes.component.Closable.CloseAutomatonCopyright © 2018. All rights reserved.