java.lang.Object
org.refcodes.io.AbstractBytesDestination
org.refcodes.io.AbstractBytesReceiver
org.refcodes.io.LoopbackBytesReceiver
- All Implemented Interfaces:
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.ConnectionComponent<LoopbackBytesTransmitter>,org.refcodes.component.ConnectionComponent.ConnectionAutomaton<LoopbackBytesTransmitter>,org.refcodes.component.ConnectionOpenable<LoopbackBytesTransmitter>,org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesTransmitter>,org.refcodes.component.ConnectionStatusAccessor,org.refcodes.component.OpenedAccessor,Availability,ByteDestination,ByteReceiver,BytesDestination,BytesReceiver,ConnectionBytesReceiver<LoopbackBytesTransmitter>,Receivable,Skippable,TimeoutInputStreamAccessor,org.refcodes.mixin.InputStreamAccessor,org.refcodes.mixin.Loggable
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 org.refcodes.io.AbstractBytesReceiver
AbstractBytesReceiver.ConnectableAutomatonNested classes/interfaces inherited from interface org.refcodes.io.BytesReceiver
BytesReceiver.ReceiverInputStreamNested 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.ConnectionComponent
org.refcodes.component.ConnectionComponent.ConnectionAutomaton<CON extends Object>, org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON extends Object,B extends org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON, B>> Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionOpenable
org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<CON extends Object>, org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON extends Object,B extends org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON, B>> Nested 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.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.io.TimeoutInputStreamAccessor
TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<B extends TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<?>>, TimeoutInputStreamAccessor.TimeoutInputStreamMutator, TimeoutInputStreamAccessor.TimeoutInputStreamProperty -
Field Summary
Fields inherited from class org.refcodes.io.AbstractBytesReceiver
_automatonFields inherited from class org.refcodes.io.AbstractBytesDestination
_datagramQueue, DATAGRAM_QUEUE_SIZEFields inherited from interface org.refcodes.mixin.Loggable
RUNTIME_LOGGER_CLASS, RUNTIME_LOGGER_FACTORY_CLASS, RUNTIME_LOGGER_FACTORY_METHOD -
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 org.refcodes.io.AbstractBytesReceiver
available, getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, receiveAllBytes, receiveByte, receiveBytes, setConnectionStatusMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.refcodes.io.Availability
available, hasAvailableMethods inherited from interface org.refcodes.io.BytesDestination
receiveByte, receiveBytesMethods inherited from interface org.refcodes.io.BytesReceiver
getInputStream, getInputStream, receiveAllBytes, receiveBytes, receiveBytesWithin, receiveBytesWithin, receiveByteWithin, skipMethods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUncheckedMethods inherited from interface org.refcodes.component.Closable.CloseAutomaton
isClosableMethods inherited from interface org.refcodes.component.ClosedAccessor
isClosedMethods inherited from interface org.refcodes.component.ConnectionOpenable
openUncheckedMethods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isOpenedMethods inherited from interface org.refcodes.mixin.Loggable
alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warnMethods inherited from interface org.refcodes.io.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 interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackBytesTransmitter>
-
open
- Specified by:
openin interfaceorg.refcodes.component.ConnectionOpenable<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 interfaceorg.refcodes.component.Closable- Overrides:
closein classAbstractBytesReceiver- Throws:
IOException
-