Class 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

    public class CrossoverLoopbackPort
    extends LoopbackPort
    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 extends org.refcodes.mixin.AliasAccessor.AliasBuilder<B>>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty
      • Nested classes/interfaces inherited from interface org.refcodes.io.BytesReceiver

        org.refcodes.io.BytesReceiver.ReceiverInputStream
      • Nested classes/interfaces inherited from interface org.refcodes.io.BytesTransmitter

        org.refcodes.io.BytesTransmitter.TransmitterOutputStream
      • 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.mixin.InputStreamAccessor

        org.refcodes.mixin.InputStreamAccessor.InputStreamBuilder<B extends org.refcodes.mixin.InputStreamAccessor.InputStreamBuilder<?>>, org.refcodes.mixin.InputStreamAccessor.InputStreamMutator, org.refcodes.mixin.InputStreamAccessor.InputStreamProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.LinkComponent

        org.refcodes.component.LinkComponent.LinkAutomaton, org.refcodes.component.LinkComponent.LinkComponentBuilder<B extends 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 extends 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.OpenedProperty
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.OutputStreamAccessor

        org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<B extends org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<?>>, org.refcodes.mixin.OutputStreamAccessor.OutputStreamMutator, org.refcodes.mixin.OutputStreamAccessor.OutputStreamProperty
      • Nested classes/interfaces inherited from interface org.refcodes.io.TimeoutInputStreamAccessor

        org.refcodes.io.TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<B extends org.refcodes.io.TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<?>>, org.refcodes.io.TimeoutInputStreamAccessor.TimeoutInputStreamMutator, org.refcodes.io.TimeoutInputStreamAccessor.TimeoutInputStreamProperty
    • Constructor Detail

      • CrossoverLoopbackPort

        public CrossoverLoopbackPort​(LoopbackPort aCounterpartPort)
        Constructs a CrossoverLoopbackPort.
        Parameters:
        aCounterpartPort - The port's counterpart (other end of the line).
      • CrossoverLoopbackPort

        public CrossoverLoopbackPort​(String aAlias,
                                     LoopbackPort aCounterpartPort)
        Constructs a CrossoverLoopbackPort.
        Parameters:
        aAlias - The alias to use for this port.
        aCounterpartPort - The port's counterpart (other end of the line).
      • CrossoverLoopbackPort

        public CrossoverLoopbackPort​(LoopbackPort aCounterpartPort,
                                     ExecutorService aExecutorService)
        Constructs a CrossoverLoopbackPort.
        Parameters:
        aCounterpartPort - The port's counterpart (other end of the line).
        aExecutorService - The ExecutorService to be used when invoking asynchronously working methods.
      • CrossoverLoopbackPort

        public CrossoverLoopbackPort​(String aAlias,
                                     LoopbackPort aCounterpartPort,
                                     ExecutorService aExecutorService)
        Constructs a CrossoverLoopbackPort.
        Parameters:
        aAlias - The alias to use for this port.
        aCounterpartPort - The port's counterpart (other end of the line).
        aExecutorService - The ExecutorService to be used when invoking asynchronously working methods.