java.lang.Object
org.refcodes.io.AbstractShortsDestination
org.refcodes.io.AbstractShortsReceiver
org.refcodes.io.LoopbackShortsTransceiver
- 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.ConnectionComponent<LoopbackShortsTransceiver>
,org.refcodes.component.ConnectionComponent.ConnectionAutomaton<LoopbackShortsTransceiver>
,org.refcodes.component.ConnectionOpenable<LoopbackShortsTransceiver>
,org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackShortsTransceiver>
,org.refcodes.component.ConnectionStatusAccessor
,org.refcodes.component.Flushable
,org.refcodes.component.OpenedAccessor
,Availability
,ConnectionShortsReceiver<LoopbackShortsTransceiver>
,ConnectionShortsTransceiver<LoopbackShortsTransceiver>
,ConnectionShortsTransmitter<LoopbackShortsTransceiver>
,Receivable
,ShortDestination
,ShortReceiver
,ShortsDestination
,ShortSource
,ShortsReceiver
,ShortsSource
,ShortsTransceiver
,ShortsTransmitter
,ShortTransceiver
,ShortTransmitter
,Transmittable
,org.refcodes.mixin.Loggable
public class LoopbackShortsTransceiver
extends AbstractShortsReceiver
implements ConnectionShortsTransceiver<LoopbackShortsTransceiver>
A
LoopbackShortsTransceiver
is a DatagramTransceiver
connected directly within the same JVM with another
LoopbackShortsTransceiver
; 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.Flushable
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
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
Fields inherited from interface org.refcodes.mixin.Loggable
RUNTIME_LOGGER_CLASS, RUNTIME_LOGGER_FACTORY_CLASS, RUNTIME_LOGGER_FACTORY_METHOD
-
Constructor Summary
ConstructorDescriptionInstantiates a new loopback short transceiver impl.LoopbackShortsTransceiver
(int aCapacity) Instantiates a new loopback short transceiver impl. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
flush()
boolean
isOpenable
(LoopbackShortsTransceiver aLoopbackTransceiver) void
open
(LoopbackShortsTransceiver aLoopbackTransceiver) void
pushDatagram
(short aDatagram) Pushes a datagram into theLoopbackBytesReceiver
.void
transmitShort
(short aShort) Writes (sends) a short.Methods inherited from class org.refcodes.io.AbstractShortsReceiver
available, getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, receiveAllShorts, receiveShort, receiveShorts, setConnectionStatus
Methods inherited from class org.refcodes.io.AbstractShortsDestination
pushDatagrams, pushDatagrams
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.component.Flushable
flushUnchecked, isFlushable
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
Methods inherited from interface org.refcodes.io.ShortsSource
transmitAllShorts
Methods inherited from interface org.refcodes.io.ShortsTransmitter
transmitShorts
-
Constructor Details
-
LoopbackShortsTransceiver
public LoopbackShortsTransceiver()Instantiates a new loopback short transceiver impl. -
LoopbackShortsTransceiver
public LoopbackShortsTransceiver(int aCapacity) Instantiates a new loopback short transceiver impl.- Parameters:
aCapacity
- the capacity
-
-
Method Details
-
isOpenable
- Specified by:
isOpenable
in interfaceorg.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<LoopbackShortsTransceiver>
-
open
- Specified by:
open
in interfaceorg.refcodes.component.ConnectionOpenable<LoopbackShortsTransceiver>
- Throws:
IOException
-
transmitShort
Writes (sends) a short.- Specified by:
transmitShort
in interfaceShortSource
- Specified by:
transmitShort
in interfaceShortsSource
- Parameters:
aShort
- The short to be pushed.- Throws:
IOException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
pushDatagram
Pushes a datagram into theLoopbackBytesReceiver
. Them datagrams can be retrieved viaAbstractShortsReceiver.receiveShort()
: useAbstractShortsReceiver.available()
to test beforehand whether there is a datagram available.- Overrides:
pushDatagram
in classAbstractShortsDestination
- Parameters:
aDatagram
- The datagram to be pushed into theLoopbackShortsReceiver
; to be retrieved with theAbstractShortsReceiver.receiveShort()
method.- Throws:
IOException
- the open exception
-
flush
- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Specified by:
flush
in interfaceShortTransmitter
- Throws:
IOException
-
close
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classAbstractShortsReceiver
- Throws:
IOException
-