Flushable, org.refcodes.component.BidirectionalConnectionComponent<InputStream,OutputStream>, org.refcodes.component.BidirectionalConnectionComponent.BidirectionalConnectionAutomaton<InputStream,OutputStream>, org.refcodes.component.BidirectionalConnectionOpenable<InputStream,OutputStream>, org.refcodes.component.BidirectionalConnectionOpenable.BidirectionalConnectionOpenAutomaton<InputStream,OutputStream>, 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, BidirectionalConnectionByteTransceiver<InputStream,OutputStream>, BidirectionalStreamConnectionByteTransceiver, ByteBlockConsumer, ByteBlockProvider, ByteBlockReceiver, ByteBlockSender, ByteConsumer, ByteDatagramConsumer, ByteDatagramProvider, ByteDatagramReceiver, ByteDatagramSender, ByteProvider, ByteReceiver, ByteSender, ByteTransceiver, Receivable, Sendable, org.refcodes.mixin.Releaseablepublic class PrefetchBidirectionalStreamConnectionByteTransceiverImpl extends AbstractPrefetchInputStreamByteReceiver implements BidirectionalStreamConnectionByteTransceiver
AbstractByteReceiver.ConnectableAutomatonorg.refcodes.component.BidirectionalConnectionComponent.BidirectionalConnectionAutomaton<INPUT extends Object,OUTPUT extends Object>org.refcodes.component.BidirectionalConnectionOpenable.BidirectionalConnectionOpenAutomaton<INPUT extends Object,OUTPUT extends Object>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_datagramQueue, DATAGRAM_QUEUE_SIZE_automaton| Constructor | Description |
|---|---|
PrefetchBidirectionalStreamConnectionByteTransceiverImpl() |
| Modifier and Type | Method | Description |
|---|---|---|
void |
close() |
|
void |
flush() |
|
boolean |
isOpenable(InputStream aInputStream,
OutputStream aOutputStream) |
|
void |
open(InputStream aInputStream,
OutputStream aOutputStream) |
|
protected void |
open(OutputStream aOutputStream) |
HINT: For testing purposes you can pass an already flushed
ObjectOutputStream (via ObjectOutputStream.flush())
encapsulating a PipedOutputStream which in turn encapsulates a
PipedInputStream to this open(OutputStream) method. |
void |
writeDatagram(byte aDatagram) |
Writes (sends) a byte.
|
pushDatagram, pushDatagrams, pushDatagramsgetConnectionStatus, hasDatagram, isClosable, isClosed, isOpenable, isOpened, open, readDatagram, readDatagrams, readDatagrams, releaseAll, setConnectionStatusisOpenable, openwriteDatagramsreadDatagramreadDatagrams, readDatagramswriteDatagramscloseIn, closeQuietly, closeUncheckedgetConnectionStatus, isConnectionOpenedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithasDatagrampublic PrefetchBidirectionalStreamConnectionByteTransceiverImpl()
public boolean isOpenable(InputStream aInputStream, OutputStream aOutputStream)
isOpenable in interface org.refcodes.component.BidirectionalConnectionOpenable.BidirectionalConnectionOpenAutomaton<InputStream,OutputStream>public void open(InputStream aInputStream, OutputStream aOutputStream) throws org.refcodes.component.OpenException
open in interface org.refcodes.component.BidirectionalConnectionOpenable<InputStream,OutputStream>org.refcodes.component.OpenExceptionpublic void writeDatagram(byte aDatagram)
throws org.refcodes.component.OpenException
writeDatagram in interface ByteConsumerwriteDatagram in interface ByteDatagramConsumeraDatagram - The byte to be pushed.org.refcodes.component.OpenException - Thrown in case opening or accessing an open line
(connection, junction, link) caused problems.public void flush()
throws org.refcodes.component.OpenException
flush in interface ByteSenderflush in interface Flushableflush in interface org.refcodes.component.Flushableorg.refcodes.component.OpenExceptionpublic void close()
throws org.refcodes.component.CloseException
close in interface org.refcodes.component.Closableclose in class AbstractPrefetchInputStreamByteReceiverorg.refcodes.component.CloseExceptionprotected void open(OutputStream aOutputStream) throws org.refcodes.component.OpenException
ObjectOutputStream (via ObjectOutputStream.flush())
encapsulating a PipedOutputStream which in turn encapsulates a
PipedInputStream to this open(OutputStream) method. This
enables you a non-blocking test of the
OutputStreamConnectionSenderImpl connected with the
PrefetchInputStreamConnectionReceiverImpl counterpart which is
being opened with the PipedInputStream.
ATTENTION: For maintainers, please keep the below code in sync with the
code from OutputStreamConnectionSenderImpl.open(java.io.OutputStream);
except do not set the connection status here, make it protected and do
not @Override anything.aOutputStream - the output streamorg.refcodes.component.OpenException - the open exceptionCopyright © 2018. All rights reserved.