Class CrossoverLoopbackPort
java.lang.Object
org.refcodes.component.ConnectionAutomatonImpl<PortMetrics>
org.refcodes.serial.AbstractPort<PortMetrics>
org.refcodes.serial.LoopbackPort
org.refcodes.serial.CrossoverLoopbackPort
- All Implemented Interfaces:
Flushable, Comparable<Port<?>>, 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<PortMetrics>, org.refcodes.component.ConnectionComponent.ConnectionAutomaton<PortMetrics>, org.refcodes.component.ConnectionOpenable<PortMetrics>, org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<PortMetrics>, org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<PortMetrics, Port<PortMetrics>>, org.refcodes.component.ConnectionStatusAccessor, org.refcodes.component.Flushable, org.refcodes.component.LinkComponent, org.refcodes.component.LinkComponent.LinkAutomaton, org.refcodes.component.Openable, org.refcodes.component.Openable.OpenAutomaton, org.refcodes.component.Openable.OpenBuilder<Port<PortMetrics>>, org.refcodes.component.OpenedAccessor, org.refcodes.io.Availability, org.refcodes.io.ByteDestination, org.refcodes.io.ByteReceiver, org.refcodes.io.BytesDestination, org.refcodes.io.ByteSource, org.refcodes.io.BytesReceiver, org.refcodes.io.BytesSource, org.refcodes.io.BytesTransceiver, org.refcodes.io.BytesTransmitter, org.refcodes.io.ByteTransceiver, org.refcodes.io.ByteTransmitter, org.refcodes.io.Receivable, org.refcodes.io.Skippable, org.refcodes.io.TimeoutInputStreamAccessor, org.refcodes.io.Transmittable, org.refcodes.mixin.AliasAccessor, org.refcodes.mixin.InputStreamAccessor, org.refcodes.mixin.OutputStreamAccessor, Port<PortMetrics>, PortMetricsAccessor<PortMetrics>, SegmentDestination, SegmentReceiver, SegmentSource, SegmentTransceiver, SegmentTransmitter, SerialReceiver, SerialTransceiver, SerialTransmitter
The
CrossoverLoopbackPort is an in-memory implementation of a
Port which loops its output directly to the "connected"
LoopbackPort counterpart ("other end of the wire"). This is suitable
for cases using a some kind of frequent handshake between a transmitter and a
receiver on the same line where we have to simulate a bidirectional in-memory
communication between two ports.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.mixin.AliasAccessor
org.refcodes.mixin.AliasAccessor.AliasBuilder<B>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasPropertyNested classes/interfaces inherited from interface org.refcodes.io.BytesReceiver
org.refcodes.io.BytesReceiver.ReceiverInputStreamNested classes/interfaces inherited from interface org.refcodes.io.BytesTransmitter
org.refcodes.io.BytesTransmitter.TransmitterOutputStreamNested classes/interfaces inherited from interface org.refcodes.component.Closable
org.refcodes.component.Closable.CloseAutomaton, 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>, org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON,B> Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionOpenable
org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<CON>, 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.component.Flushable
org.refcodes.component.Flushable.FlushBuilder<B>Nested classes/interfaces inherited from interface org.refcodes.mixin.InputStreamAccessor
org.refcodes.mixin.InputStreamAccessor.InputStreamBuilder<B>, org.refcodes.mixin.InputStreamAccessor.InputStreamMutator, org.refcodes.mixin.InputStreamAccessor.InputStreamPropertyNested classes/interfaces inherited from interface org.refcodes.component.LinkComponent
org.refcodes.component.LinkComponent.LinkAutomaton, org.refcodes.component.LinkComponent.LinkComponentBuilder<B>Nested classes/interfaces inherited from interface org.refcodes.component.Openable
org.refcodes.component.Openable.OpenAutomaton, org.refcodes.component.Openable.OpenBuilder<B>Nested 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.mixin.OutputStreamAccessor
org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<B>, org.refcodes.mixin.OutputStreamAccessor.OutputStreamMutator, org.refcodes.mixin.OutputStreamAccessor.OutputStreamPropertyNested classes/interfaces inherited from interface PortMetricsAccessor
PortMetricsAccessor.PortMetricsBuilder<PM,B>, PortMetricsAccessor.PortMetricsMutator<PM>, PortMetricsAccessor.PortMetricsProperty<PM> Nested classes/interfaces inherited from interface org.refcodes.io.TimeoutInputStreamAccessor
org.refcodes.io.TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<B>, org.refcodes.io.TimeoutInputStreamAccessor.TimeoutInputStreamMutator, org.refcodes.io.TimeoutInputStreamAccessor.TimeoutInputStreamProperty -
Field Summary
Fields inherited from class LoopbackPort
_crossoverPort, _transmitSequenceFields inherited from class AbstractPort
_alias, _executorService, _portMetricsFields inherited from class org.refcodes.component.ConnectionAutomatonImpl
_connectionComponent -
Constructor Summary
ConstructorsConstructorDescriptionCrossoverLoopbackPort(String aAlias, LoopbackPort aCounterpartPort) Constructs aCrossoverLoopbackPort.CrossoverLoopbackPort(String aAlias, LoopbackPort aCounterpartPort, ExecutorService aExecutorService) Constructs aCrossoverLoopbackPort.CrossoverLoopbackPort(LoopbackPort aCounterpartPort) Constructs aCrossoverLoopbackPort.CrossoverLoopbackPort(LoopbackPort aCounterpartPort, ExecutorService aExecutorService) Constructs aCrossoverLoopbackPort. -
Method Summary
Methods inherited from class LoopbackPort
available, close, getAlias, getPortMetrics, open, receiveBytes, setCrossoverPort, toString, transmitSequence, withOpen, withOpen, withOpenUnchecked, withOpenUncheckedMethods inherited from class AbstractPort
doTransmitSegment, doTransmitSegment, isOpenable, onReceiveSegment, onReceiveSegment, open, receiveSegmentMethods inherited from class org.refcodes.component.ConnectionAutomatonImpl
getConnectionStatus, isClosable, isClosed, isOpenable, isOpenedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.refcodes.io.Availability
hasAvailableMethods inherited from interface org.refcodes.io.BytesReceiver
getInputStream, getInputStream, receiveAllBytes, receiveBytesWithin, receiveBytesWithin, receiveByteWithin, skipMethods inherited from interface org.refcodes.io.BytesSource
transmitByteMethods inherited from interface org.refcodes.io.BytesTransmitter
getOutputStreamMethods 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.ConnectionOpenable.ConnectionOpenAutomaton
isOpenableMethods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isOpenedMethods inherited from interface org.refcodes.component.Flushable
flushUnchecked, isFlushableMethods inherited from interface org.refcodes.component.Openable
openUncheckedMethods inherited from interface SegmentTransmitter
flushMethods inherited from interface SerialReceiver
receiveByte, receiveBytes, receiveSegmentWithin, receiveSequence, receiveSequenceWithinMethods inherited from interface SerialTransceiver
transmitSegmentMethods inherited from interface SerialTransmitter
flush, transmitBytes, transmitBytes, transmitSequenceMethods inherited from interface org.refcodes.io.Skippable
skipAvailable, skipAvailableExcept, skipAvailableTill, skipAvailableTillSilenceFor, skipAvailableTillSilenceFor, skipAvailableWithin, skipAvailableWithin, skipAvailableWithin
-
Constructor Details
-
CrossoverLoopbackPort
Constructs aCrossoverLoopbackPort.- Parameters:
aCounterpartPort- The port's counterpart (other end of the line).
-
CrossoverLoopbackPort
Constructs aCrossoverLoopbackPort.- Parameters:
aAlias- The alias to use for this port.aCounterpartPort- The port's counterpart (other end of the line).
-
CrossoverLoopbackPort
Constructs aCrossoverLoopbackPort.- Parameters:
aCounterpartPort- The port's counterpart (other end of the line).aExecutorService- TheExecutorServiceto be used when invoking asynchronously working methods.
-
CrossoverLoopbackPort
public CrossoverLoopbackPort(String aAlias, LoopbackPort aCounterpartPort, ExecutorService aExecutorService) Constructs aCrossoverLoopbackPort.- Parameters:
aAlias- The alias to use for this port.aCounterpartPort- The port's counterpart (other end of the line).aExecutorService- TheExecutorServiceto be used when invoking asynchronously working methods.
-