DATA
- the generic typepublic class PrefetchInputStreamReceiverImpl<DATA extends Serializable> extends Object implements Receiver<DATA>
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 |
---|
PrefetchInputStreamReceiverImpl(InputStream aInputStream)
Instantiates a new prefetch input stream receiver impl.
|
PrefetchInputStreamReceiverImpl(InputStream aInputStream,
ExecutorService aExecutorService)
Instantiates a new prefetch input stream receiver impl.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
org.refcodes.component.ConnectionStatus |
getConnectionStatus() |
boolean |
hasDatagram()
Determines whether a datagram is available from a
DatagramSender . |
boolean |
isClosable() |
boolean |
isClosed() |
boolean |
isOpened() |
DATA |
readDatagram()
Reads (receives) the next datagram passed from a
DatagramSender
counterpart. |
DATA[] |
readDatagrams()
Read datagrams.
|
void |
releaseAll() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
readDatagrams
public PrefetchInputStreamReceiverImpl(InputStream aInputStream) throws org.refcodes.component.OpenException
aInputStream
- the input streamorg.refcodes.component.OpenException
- the open exceptionpublic PrefetchInputStreamReceiverImpl(InputStream aInputStream, ExecutorService aExecutorService) throws org.refcodes.component.OpenException
aInputStream
- the input streamaExecutorService
- the executor serviceorg.refcodes.component.OpenException
- the open exceptionpublic 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
DatagramSender
.
Use the DatagramProvider
extenison's
DatagramProvider.readDatagram()
method for retrieving the
available datagram.hasDatagram
in interface Receivable
org.refcodes.component.OpenException
- Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.public DATA[] readDatagrams() throws org.refcodes.component.OpenException, InterruptedException
readDatagrams
in interface BlockProvider<DATA extends Serializable>
readDatagrams
in interface Provider<DATA extends Serializable>
readDatagrams
in interface Receiver<DATA extends Serializable>
org.refcodes.component.OpenException
- the open exceptionInterruptedException
- the interrupted exceptionpublic 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 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.readDatagram
in interface DatagramProvider<DATA extends Serializable>
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.public boolean isClosable()
isClosable
in interface org.refcodes.component.Closable.CloseAutomaton
Copyright © 2018. All rights reserved.