Class LoopbackBytesReceiver
java.lang.Object
org.refcodes.component.AbstractConnectable
org.refcodes.io.AbstractBytesDestination
org.refcodes.io.AbstractBytesReceiver
org.refcodes.io.LoopbackBytesReceiver
- All Implemented Interfaces:
Closable, Closable.CloseAutomaton, ClosedAccessor, ConnectableComponent, ConnectableComponent.ConnectableAutomaton, ConnectionComponent<LoopbackBytesTransmitter>, ConnectionComponent.ConnectionAutomaton<LoopbackBytesTransmitter>, ConnectionOpenable<LoopbackBytesTransmitter>, ConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesTransmitter>, ConnectionStatusAccessor, OpenedAccessor, Availability, ByteDestination, ByteReceiver, BytesDestination, BytesReceiver, ConnectionBytesReceiver<LoopbackBytesTransmitter>, Receivable, Skippable, TimeoutInputStreamAccessor, InputStreamAccessor
public class LoopbackBytesReceiver
extends AbstractBytesReceiver
implements ConnectionBytesReceiver<LoopbackBytesTransmitter>
A
LoopbackBytesReceiver is a DatagramReceiver connected
directly within the same JVM with a LoopbackBytesTransmitter; a
"loopback" connection is used for establishing the connection which cannot be
accessed outside the JVM or the running machine.-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractBytesReceiver
AbstractBytesReceiver.ConnectableAutomatonNested classes/interfaces inherited from interface BytesReceiver
BytesReceiver.ReceiverInputStreamNested classes/interfaces inherited from interface Closable
Closable.CloseAutomaton, Closable.CloseBuilder<B>Nested classes/interfaces inherited from interface ClosedAccessor
ClosedAccessor.ClosedMutator, ClosedAccessor.ClosedPropertyNested classes/interfaces inherited from interface ConnectableComponent
ConnectableComponent.ConnectableAutomatonNested classes/interfaces inherited from interface ConnectionComponent
ConnectionComponent.ConnectionAutomaton<CON>, ConnectionComponent.ConnectionComponentBuilder<CON,B> Nested classes/interfaces inherited from interface ConnectionOpenable
ConnectionOpenable.ConnectionOpenAutomaton<CON>, ConnectionOpenable.ConnectionOpenBuilder<CON,B> Nested classes/interfaces inherited from interface ConnectionStatusAccessor
ConnectionStatusAccessor.ConnectionStatusMutator, ConnectionStatusAccessor.ConnectionStatusPropertyNested classes/interfaces inherited from interface InputStreamAccessor
InputStreamAccessor.InputStreamBuilder<B>, InputStreamAccessor.InputStreamMutator, InputStreamAccessor.InputStreamPropertyNested classes/interfaces inherited from interface OpenedAccessor
OpenedAccessor.OpenedMutator, OpenedAccessor.OpenedPropertyNested classes/interfaces inherited from interface TimeoutInputStreamAccessor
TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<B>, TimeoutInputStreamAccessor.TimeoutInputStreamMutator, TimeoutInputStreamAccessor.TimeoutInputStreamProperty -
Field Summary
Fields inherited from class AbstractBytesReceiver
_automatonFields inherited from class AbstractBytesDestination
_datagramQueue, DATAGRAM_QUEUE_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionInstantiates a new loopback byte receiver impl.LoopbackBytesReceiver(int aCapacity) Instantiates a new loopback byte receiver impl. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()booleanisOpenable(LoopbackBytesTransmitter aLoopbackSender) voidopen(LoopbackBytesTransmitter aLoopbackSender) voidpushDatagram(byte aDatagram) Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams.voidpushDatagrams(byte[] aDatagrams) Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams.voidpushDatagrams(byte[] aDatagrams, int aOffset, int aLength) Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams.Methods inherited from class AbstractBytesReceiver
available, getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, receiveAllBytes, receiveByte, receiveBytes, setConnectionStatusMethods inherited from class AbstractConnectable
isThrownAsOfAlreadyClosedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Availability
available, hasAvailableMethods inherited from interface BytesDestination
receiveByte, receiveBytesMethods inherited from interface BytesReceiver
getInputStream, getInputStream, receiveAllBytes, receiveBytes, receiveBytesWithin, receiveBytesWithin, receiveByteWithin, skipMethods inherited from interface Closable
closeIn, closeQuietly, closeUncheckedMethods inherited from interface Closable.CloseAutomaton
isClosableMethods inherited from interface ClosedAccessor
isClosedMethods inherited from interface ConnectionOpenable
openUncheckedMethods inherited from interface ConnectionStatusAccessor
getConnectionStatus, isOpenedMethods inherited from interface Skippable
available, skipAvailable, skipAvailableExcept, skipAvailableTill, skipAvailableTillSilenceFor, skipAvailableTillSilenceFor, skipAvailableWithin, skipAvailableWithin, skipAvailableWithin
-
Constructor Details
-
LoopbackBytesReceiver
public LoopbackBytesReceiver()Instantiates a new loopback byte receiver impl. -
LoopbackBytesReceiver
public LoopbackBytesReceiver(int aCapacity) Instantiates a new loopback byte receiver impl.- Parameters:
aCapacity- the capacity
-
-
Method Details
-
isOpenable
- Specified by:
isOpenablein interfaceConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesTransmitter>
-
open
- Specified by:
openin interfaceConnectionOpenable<LoopbackBytesTransmitter>- Throws:
IOException
-
pushDatagram
Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractBytesDestination.receiveByte(): UseAbstractBytesReceiverextension'sAbstractBytesReceiver.available()to test beforehand whether there is a datagram available.- Overrides:
pushDatagramin classAbstractBytesDestination- Parameters:
aDatagram- The datagram to be pushed at the end of the blocking queue; to be retrieved with theAbstractBytesDestination.receiveByte()method.- Throws:
IOException- the open exception
-
pushDatagrams
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractBytesDestination.receiveByte(): UseAbstractBytesReceiverextension'sAbstractBytesReceiver.available()to test beforehand whether there is a datagram available.- Overrides:
pushDatagramsin classAbstractBytesDestination- Parameters:
aDatagrams- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractBytesDestination.receiveByte()method.- Throws:
IOException- the open exception
-
pushDatagrams
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractBytesDestination.receiveByte(): UseAbstractBytesReceiverextension'sAbstractBytesReceiver.available()to test beforehand whether there is a datagram available.- Overrides:
pushDatagramsin classAbstractBytesDestination- Parameters:
aDatagrams- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractBytesDestination.receiveByte()method.aOffset- The offset to start taking data from to be pushed.aLength- The number of elements to be pushed from the offset onwards.- Throws:
IOException- the open exception
-
close
- Specified by:
closein interfaceClosable- Overrides:
closein classAbstractBytesReceiver- Throws:
IOException
-