java.lang.Object
org.refcodes.io.PrefetchBidirectionalStreamByteTransceiver
- All Implemented Interfaces:
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,Availability,ByteDestination,ByteReceiver,BytesDestination,ByteSource,BytesReceiver,BytesSource,BytesTransceiver,BytesTransmitter,ByteTransceiver,ByteTransmitter,Receivable,Skippable,TimeoutInputStreamAccessor,Transmittable,org.refcodes.mixin.InputStreamAccessor,org.refcodes.mixin.OutputStreamAccessor
The Class PrefetchBidirectionalStreamByteTransceiver.
- Author:
- steiner
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.io.BytesReceiver
BytesReceiver.ReceiverInputStreamNested classes/interfaces inherited from interface org.refcodes.io.BytesTransmitter
BytesTransmitter.TransmitterOutputStreamNested classes/interfaces inherited from interface org.refcodes.component.Closable
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>Nested classes/interfaces inherited from interface org.refcodes.component.ClosedAccessor
org.refcodes.component.ClosedAccessor.ClosedMutator, org.refcodes.component.ClosedAccessor.ClosedPropertyNested classes/interfaces inherited from interface org.refcodes.component.ConnectableComponent
org.refcodes.component.ConnectableComponent.ConnectableAutomatonNested classes/interfaces inherited from interface org.refcodes.component.ConnectionStatusAccessor
org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusPropertyNested classes/interfaces inherited from interface org.refcodes.component.Flushable
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>Nested classes/interfaces inherited from interface org.refcodes.mixin.InputStreamAccessor
org.refcodes.mixin.InputStreamAccessor.InputStreamBuilder<B extends org.refcodes.mixin.InputStreamAccessor.InputStreamBuilder<?>>, org.refcodes.mixin.InputStreamAccessor.InputStreamMutator, org.refcodes.mixin.InputStreamAccessor.InputStreamPropertyNested classes/interfaces inherited from interface org.refcodes.component.OpenedAccessor
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedPropertyNested classes/interfaces inherited from interface org.refcodes.mixin.OutputStreamAccessor
org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<B extends org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<?>>, org.refcodes.mixin.OutputStreamAccessor.OutputStreamMutator, org.refcodes.mixin.OutputStreamAccessor.OutputStreamPropertyNested classes/interfaces inherited from interface org.refcodes.io.TimeoutInputStreamAccessor
TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<B extends TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<?>>, TimeoutInputStreamAccessor.TimeoutInputStreamMutator, TimeoutInputStreamAccessor.TimeoutInputStreamProperty -
Constructor Summary
ConstructorsConstructorDescriptionPrefetchBidirectionalStreamByteTransceiver(InputStream aInputStream, OutputStream aOutputStream) Instantiates a new prefetch bidirectional stream byte transceiver impl. -
Method Summary
Modifier and TypeMethodDescriptionintDetermines the number of available datagram from aDatagramTransmitter.voidclose()voidflush()Flush.org.refcodes.component.ConnectionStatusbooleanbooleanisClosed()booleanisOpened()byte[]Reads (receives) the all currently available data.byteReads (receives) the next byte, in case none byte is available, then this method blocks until one is available.voidtransmitAllBytes(byte[] aDatagram) Write datagrams.voidtransmitByte(byte aByte) Write datagram.voidtransmitBytes(byte[] aDatagram, int aOffset, int aLength) Write datagrams.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.refcodes.io.Availability
hasAvailableMethods inherited from interface org.refcodes.io.BytesDestination
receiveBytesMethods inherited from interface org.refcodes.io.BytesReceiver
getInputStream, getInputStream, receiveBytes, receiveBytesWithin, receiveBytesWithin, receiveByteWithin, skipMethods inherited from interface org.refcodes.io.BytesTransmitter
getOutputStreamMethods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUncheckedMethods inherited from interface org.refcodes.component.Flushable
flushUnchecked, isFlushableMethods inherited from interface org.refcodes.io.Skippable
skipAvailable, skipAvailableExcept, skipAvailableTill, skipAvailableTillSilenceFor, skipAvailableTillSilenceFor, skipAvailableWithin, skipAvailableWithin, skipAvailableWithin
-
Constructor Details
-
PrefetchBidirectionalStreamByteTransceiver
public PrefetchBidirectionalStreamByteTransceiver(InputStream aInputStream, OutputStream aOutputStream) throws IOException Instantiates a new prefetch bidirectional stream byte transceiver impl.- Parameters:
aInputStream- the input streamaOutputStream- the output stream- Throws:
IOException- the open exception
-
-
Method Details
-
isClosed
public boolean isClosed()- Specified by:
isClosedin interfaceorg.refcodes.component.ClosedAccessor
-
isOpened
public boolean isOpened()- Specified by:
isOpenedin interfaceorg.refcodes.component.ConnectionStatusAccessor- Specified by:
isOpenedin interfaceorg.refcodes.component.OpenedAccessor
-
available
Determines the number of available datagram from aDatagramTransmitter. Use theDatagramDestinationextenison'sDatagramDestination.receive()method for retrieving available datagrams.- Specified by:
availablein interfaceAvailability- Specified by:
availablein interfaceSkippable- Returns:
- The number of datagrams ready to be retrieved .
- Throws:
IOException- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
receiveAllBytes
Reads (receives) the all currently available data.- Specified by:
receiveAllBytesin interfaceBytesDestination- Specified by:
receiveAllBytesin interfaceBytesReceiver- Returns:
- The according data.
- Throws:
IOException- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.EOFException- Signals that an end of file or end of stream has been reached unexpectedly during input.
-
getConnectionStatus
public org.refcodes.component.ConnectionStatus getConnectionStatus()- Specified by:
getConnectionStatusin interfaceorg.refcodes.component.ConnectionStatusAccessor
-
close
- Specified by:
closein interfaceorg.refcodes.component.Closable- Throws:
IOException
-
receiveByte
Reads (receives) the next byte, in case none byte is available, then this method blocks until one is available.- Specified by:
receiveBytein interfaceByteDestination- Specified by:
receiveBytein interfaceBytesDestination- Returns:
- The next byte available .
- Throws:
IOException- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.EOFException- Signals that an end of file or end of stream has been reached unexpectedly during input.
-
transmitAllBytes
Write datagrams.- Specified by:
transmitAllBytesin interfaceBytesSource- Parameters:
aDatagram- the datagram- Throws:
IOException- the open exception
-
transmitBytes
Write datagrams.- Specified by:
transmitBytesin interfaceBytesSource- Specified by:
transmitBytesin interfaceBytesTransmitter- Parameters:
aDatagram- the datagramaOffset- the offsetaLength- the length- Throws:
IOException- the open exception
-
transmitByte
Write datagram.- Specified by:
transmitBytein interfaceByteSource- Specified by:
transmitBytein interfaceBytesSource- Parameters:
aByte- the datagram- Throws:
IOException- the open exception
-
flush
Flush.- Specified by:
flushin interfaceByteTransmitter- Specified by:
flushin interfaceFlushable- Specified by:
flushin interfaceorg.refcodes.component.Flushable- Throws:
IOException- the open exception
-
isClosable
public boolean isClosable()- Specified by:
isClosablein interfaceorg.refcodes.component.Closable.CloseAutomaton
-