public class PrefetchInputStreamByteReceiverImpl extends Object implements ByteReceiver
org.refcodes.component.ConnectableComponent.ConnectableAutomaton
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
Constructor and Description |
---|
PrefetchInputStreamByteReceiverImpl(InputStream aInputStream) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
org.refcodes.component.ConnectionStatus |
getConnectionStatus() |
boolean |
hasDatagram()
Determines whether a datagram is available from a
DatagramSender
and can be retrieved via the #readDatagram() method. |
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() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
readDatagrams
public PrefetchInputStreamByteReceiverImpl(InputStream aInputStream) throws org.refcodes.component.OpenException
org.refcodes.component.OpenException
public boolean isClosed()
isClosed
in interface org.refcodes.component.ClosedAccessor
public boolean isOpened()
isOpened
in interface org.refcodes.component.OpenedAccessor
public boolean hasDatagram() throws org.refcodes.component.OpenException
Receivable
DatagramSender
and can be retrieved via the #readDatagram()
method.hasDatagram
in interface Receivable
#readDatagram()
method.org.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
ByteProvider
OpenException
(or an
InterruptedException
in case of blocking till more data is
available) occurs.readDatagrams
in interface ByteBlockProvider
readDatagrams
in interface ByteProvider
readDatagrams
in interface ByteReceiver
BlockSender
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.ConnectionStatusAccessor
public void releaseAll()
releaseAll
in interface org.refcodes.mixin.Releaseable
public void close() throws org.refcodes.component.CloseException
close
in interface org.refcodes.component.Closable
org.refcodes.component.CloseException
public byte readDatagram() throws org.refcodes.component.OpenException, InterruptedException
ByteDatagramProvider
DatagramSender
counterpart. In case none byte is available, then this method blocks
until one is available. To prevent blocking, use the
#hasDatagram()
method to test beforehand whether a byte is
available (in a multi-threaded usage scenario, #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 ByteDatagramProvider
ByteDatagramSender
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 boolean isClosable()
isClosable
in interface org.refcodes.component.Closable.CloseAutomaton
Copyright © 2017. All rights reserved.