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
public class LoopbackShortsReceiver
extends AbstractShortsReceiver
implements ConnectionShortsReceiver<LoopbackShortsTransmitter>
A
LoopbackShortsReceiver
is a DatagramReceiver
connected
directly within the same JVM with a LoopbackShortsTransmitter
; 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>> Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionStatusAccessor
org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusProperty
Nested classes/interfaces inherited from interface org.refcodes.component.OpenedAccessor
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
-
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
ConstructorDescriptionInstantiates a new loopback short receiver impl.LoopbackShortsReceiver
(int aCapacity) Instantiates a new loopback short receiver impl. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.Closable.CloseAutomaton
isClosable
Methods inherited from interface org.refcodes.component.ClosedAccessor
isClosed
Methods inherited from interface org.refcodes.component.ConnectionOpenable
openUnchecked
Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isOpened
Methods inherited from interface org.refcodes.io.ShortsDestination
receiveShort, receiveShorts
Methods inherited from interface org.refcodes.io.ShortsReceiver
receiveAllShorts, receiveShorts
-
Constructor Details
-
LoopbackShortsReceiver
public LoopbackShortsReceiver()Instantiates a new loopback short receiver impl. -
LoopbackShortsReceiver
public LoopbackShortsReceiver(int aCapacity) Instantiates a new loopback short receiver impl.- Parameters:
aCapacity
- the capacity
-
-
Method Details
-
isOpenable
- Specified by:
isOpenable
in interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackShortsTransmitter>
-
open
- Specified by:
open
in interfaceorg.refcodes.component.ConnectionOpenable<LoopbackShortsTransmitter>
- 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 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
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
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
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classAbstractShortsReceiver
- Throws:
IOException
-