- java.lang.Object
-
- org.refcodes.io.AbstractShortsDestination
-
- org.refcodes.io.AbstractShortsReceiver
-
- org.refcodes.io.LoopbackShortsReceiver
-
- 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<LoopbackShortsTransmitter>
,org.refcodes.component.ConnectionComponent.ConnectionAutomaton<LoopbackShortsTransmitter>
,org.refcodes.component.ConnectionOpenable<LoopbackShortsTransmitter>
,org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackShortsTransmitter>
,org.refcodes.component.ConnectionStatusAccessor
,org.refcodes.component.OpenedAccessor
,Availability
,ConnectionShortsReceiver<LoopbackShortsTransmitter>
,Receivable
,ShortDestination
,ShortReceiver
,ShortsDestination
,ShortsReceiver
,org.refcodes.mixin.Loggable
public class LoopbackShortsReceiver extends AbstractShortsReceiver implements ConnectionShortsReceiver<LoopbackShortsTransmitter>
ALoopbackShortsReceiver
is aDatagramReceiver
connected directly within the same JVM with aLoopbackShortsTransmitter
; 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.AbstractShortsReceiver
AbstractShortsReceiver.ConnectableAutomaton
-
Nested 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.ClosedProperty
-
Nested classes/interfaces inherited from interface org.refcodes.component.ConnectableComponent
org.refcodes.component.ConnectableComponent.ConnectableAutomaton
-
Nested 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>>
-
-
Field Summary
-
Fields inherited from class org.refcodes.io.AbstractShortsReceiver
_automaton
-
Fields inherited from class org.refcodes.io.AbstractShortsDestination
_datagramQueue, DATAGRAM_QUEUE_SIZE
-
-
Constructor Summary
Constructors Constructor Description LoopbackShortsReceiver()
Instantiates a new loopback short receiver impl.LoopbackShortsReceiver(int aCapacity)
Instantiates a new loopback short receiver impl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
boolean
isOpenable(LoopbackShortsTransmitter aLoopbackSender)
void
open(LoopbackShortsTransmitter aLoopbackSender)
void
pushDatagram(short aDatagram)
Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams.void
pushDatagrams(short[] aDatagrams)
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams.void
pushDatagrams(short[] 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.AbstractShortsReceiver
available, getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, receiveAllShorts, receiveShort, receiveShorts, setConnectionStatus
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.refcodes.io.Availability
available, hasAvailable
-
Methods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUnchecked
-
Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isOpened
-
Methods inherited from interface org.refcodes.mixin.Loggable
alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warn
-
Methods inherited from interface org.refcodes.io.ShortsDestination
receiveShort, receiveShorts
-
Methods inherited from interface org.refcodes.io.ShortsReceiver
receiveAllShorts, receiveShorts
-
-
-
-
Method Detail
-
isOpenable
public boolean isOpenable(LoopbackShortsTransmitter aLoopbackSender)
- Specified by:
isOpenable
in interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackShortsTransmitter>
-
open
public void open(LoopbackShortsTransmitter aLoopbackSender) throws IOException
- Specified by:
open
in interfaceorg.refcodes.component.ConnectionOpenable<LoopbackShortsTransmitter>
- Throws:
IOException
-
pushDatagram
public void pushDatagram(short aDatagram) throws IOException
Pushes a datagram into the receiver and puts it into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractShortsDestination.receiveShort()
: UseAbstractBytesReceiver
extension'sAbstractBytesReceiver.available()
to test beforehand whether there is a datagram available.- Overrides:
pushDatagram
in classAbstractShortsDestination
- Parameters:
aDatagram
- The datagram to be pushed at the end of the blocking queue; to be retrieved with theAbstractShortsDestination.receiveShort()
method.- Throws:
IOException
- the open exception
-
pushDatagrams
public void pushDatagrams(short[] aDatagrams) throws IOException
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractShortsDestination.receiveShort()
: UseAbstractBytesReceiver
extension'sAbstractBytesReceiver.available()
to test beforehand whether there is a datagram available.- Overrides:
pushDatagrams
in classAbstractShortsDestination
- Parameters:
aDatagrams
- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractShortsDestination.receiveShort()
method.- Throws:
IOException
- the open exception
-
pushDatagrams
public void pushDatagrams(short[] aDatagrams, int aOffset, int aLength) throws IOException
Pushes datagrams into the receiver and puts them into the blocking queue containing the so far received datagrams. Them datagrams can be retrieved viaAbstractShortsDestination.receiveShort()
: UseAbstractBytesReceiver
extension'sAbstractBytesReceiver.available()
to test beforehand whether there is a datagram available.- Overrides:
pushDatagrams
in classAbstractShortsDestination
- Parameters:
aDatagrams
- The datagrams to be pushed at the end of the blocking queue; to be retrieved with theAbstractShortsDestination.receiveShort()
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
public void close() throws IOException
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classAbstractShortsReceiver
- Throws:
IOException
-
-